📄 canbus.c.bak
字号:
#include <ARTX.h> /* ARTX kernel functions & defines */
#include <LPC21xx.h> /* LPC21xx definitions */
#include "ARTX_CAN.h" /* CAN Generic functions & defines */
#include "CAN_hw.h" /* CAN hw specific functions & defines */
#include "CAN_reg.h" /* LPC2xxx CAN registers */
void CanInit(U32 ctrl, U32 baudrate)
{
PINSEL1 &= 0xFFEBFFFF; /* Reset CAN1 bits */
PINSEL1 |= 0x00040000; /* Set CAN1 bits to 01 */
/* Set interrupt vector for Tx1 */
*(&VICVectAddr0 + VIC_NUM_CTRL1_TX) = (unsigned long) CAN_TX1_ISR;
*(&VICVectCntl0 + VIC_NUM_CTRL1_TX) = 0x20 | 20;
/* Set interrupt vector for Rx1 */
*(&VICVectAddr0 + VIC_NUM_CTRL1_RX) = (unsigned long) CAN_RX1_ISR;
*(&VICVectCntl0 + VIC_NUM_CTRL1_RX) = 0x20 | 26;
VICIntEnable |= 0x04100000; /* Enable CAN Tx1 and Rx1 Interrupt */
///////////////////////////////////////////////////////////////////////////
AFMReg = 1;
C1MOD = 1;
C2IER = 0;
C1GSR = 0;
C1BTR = CAN_calc_baudrate(baudrate);
C1IER = 0x0603;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -