Hi Mark,
As you wrote:
_CONFIG_PERIPHERAL(E, 24, PE_24_CAN1_TX); // CAN1_TX on PE24 (alt. function 2)
_CONFIG_PERIPHERAL(E, 25, PE_25_CAN1_RX); // CAN1_RX on PE25 (alt. function 2)
But K60 there is no pins for CAN0 if using PE, which is only allowed for Pins (PTB19/PTB18, or PTA13/PTA12).
Note: CAN0 (by PE) is CAN1 on the document TWRK60F120MUM.pdf.
I manually coded into PE generated code:
PORTE_PCR25 = (uint32_t)((PORTE_PCR25 & (uint32_t)~(uint32_t)(
PORT_PCR_ISF_MASK |
PORT_PCR_MUX(0x05)
)) | (uint32_t)(
PORT_PCR_MUX(0x02)
));
PORT_PDD_SetPinPullSelect(PORTE_BASE_PTR, 25, PORT_PDD_PULL_UP);
PORT_PDD_SetPinPullEnable(PORTE_BASE_PTR, 25, PORT_PDD_PULL_ENABLE);
/* initialization of CAN TX pin */
/* PORTB_PCR18: ISF=0,MUX=2 */
PORTE_PCR24 = (uint32_t)((PORTE_PCR24 & (uint32_t)~(uint32_t)(
PORT_PCR_ISF_MASK |
PORT_PCR_MUX(0x05)
)) | (uint32_t)(
PORT_PCR_MUX(0x02)
));
PORT_PDD_SetPinPullSelect(PORTE_BASE_PTR, 24, PORT_PDD_PULL_UP);
PORT_PDD_SetPinPullEnable(PORTE_BASE_PTR, 24, PORT_PDD_PULL_ENABLE);
On A46/A45.
Not Working.
Thank you,
David Zhou