Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static void can0_init(void)
- {
- SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
- while(!SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOF));
- HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY; //Unlock GPIO_CR register with this magic value
- HWREG(GPIO_PORTF_BASE + GPIO_O_CR) = 0xFF;
- GPIOPinConfigure(GPIO_PF0_CAN0RX);
- GPIOPinConfigure(GPIO_PF3_CAN0TX);
- GPIOPinTypeCAN(GPIO_PORTF_BASE, GPIO_PIN_0 | GPIO_PIN_3);
- SysCtlPeripheralEnable(SYSCTL_PERIPH_CAN0);
- while(!SysCtlPeripheralReady(SYSCTL_PERIPH_CAN0));
- CANInit(CAN0_BASE);
- CANBitRateSet(CAN0_BASE, SysCtlClockGet(), 1000000);
- CANIntEnable(CAN0_BASE, CAN_INT_MASTER | CAN_INT_ERROR | CAN_INT_STATUS);
- IntEnable(INT_CAN0);
- CANEnable(CAN0_BASE);
- tCANMsgObject sMsgObjectRx_uart5;
- sMsgObjectRx_uart5.ui32MsgID = 0xC0000002;
- sMsgObjectRx_uart5.ui32MsgIDMask = 0xFFFF;
- sMsgObjectRx_uart5.ui32Flags = MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER;
- sMsgObjectRx_uart5.ui32MsgLen = 1;
- CANMessageSet(CAN0_BASE, 4, &sMsgObjectRx_uart5, MSG_OBJ_TYPE_RX);
- tCANMsgObject sMsgObjectRx_uart6;
- sMsgObjectRx_uart6.ui32MsgID = 0xC0000004;
- sMsgObjectRx_uart6.ui32MsgIDMask = 0xFFFF;
- sMsgObjectRx_uart6.ui32Flags = MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER;
- sMsgObjectRx_uart6.ui32MsgLen = 1;
- CANMessageSet(CAN0_BASE, 5, &sMsgObjectRx_uart6, MSG_OBJ_TYPE_RX);
- tCANMsgObject sMsgObjectRx_uart7;
- sMsgObjectRx_uart7.ui32MsgID = 0xC0000006;
- sMsgObjectRx_uart7.ui32MsgIDMask = 0xFFFF;
- sMsgObjectRx_uart7.ui32Flags = MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER;
- sMsgObjectRx_uart7.ui32MsgLen = 1;
- CANMessageSet(CAN0_BASE, 6, &sMsgObjectRx_uart7, MSG_OBJ_TYPE_RX);
- CANRetrySet(CAN0_BASE, true);
- }
Advertisement
Add Comment
Please, Sign In to add comment