📄 can_tx.c
字号:
#include <LPC21xx.H>
void init_CAN2(void);
void TX_CAN2(void);
void init_CAN2(void)
{
ADCR = 0x00270601; //Setup A/D: 10-bit AIN0 @ 3MHz
ADCR |= 0x01000000; //Start A/D Conversion
PINSEL1 |= 0x00014000; //Enable Pin 0.25 as CAN1 RX
C2MOD = 0x00000001; //Set CAN controller into reset
C2BTR = 0x001C001D; //Set bit timing to 125k
C2MOD = 0x00000000; //Release CAN controller
}
void TX_CAN2(void)
{
unsigned int val;
C2TFI1 = 0x00040000; //Set DLC to 4 bytes
C2TID1 = 0x00000002; //Set address to 2 Standard Frame
do
{
val = ADDR; // Read A/D Data Register
}
while ((val & 0x80000000) == 0);
//A to D conversion
if(C2SR & 0x00000004) //See if Tx Buffer 1 is free
{
C2TDA1 = val; //Copy A/D result into first four bytes
C2CMR = 0x00000021; //Transmit the message
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -