📄 can._c
字号:
//////////////////////////////////////////////////////////
//单向查询
//说明:
// 本程序是结点1,只负责接收
//////////////////////////////////////////////////////////
#define _CAN_H
#include "AT90CAN128.H"
#define SIT0 0
#define SIT1 1
#define SIT2 2
#define SIT3 3
#define SIT4 4
#define SIT5 5
#define SIT6 6
#define SIT7 7
void CAN_ClrMailBox(void)
{
uint8 mob_channel;
uint8 mob_data;
for (mob_channel = 0 ; mob_channel < 15 ; mob_channel++)
{
CANPAGE = (mob_channel << 4);
CANIDT4 = 0;
CANIDT3 = 0;
CANIDT2 = 0;
CANIDT1 = 0;
CANIDM4 = 0;
CANIDM3 = 0;
CANIDM2 = 0;
CANIDM1 = 0;
CANSTMOB = 0;
CANCDMOB = 0;
for (mob_data = 0; mob_data < 8; mob_data++)
CANMSG = 0;
}
}
void CAN_Init(void)
{
uint8 i;
CANGCON = BIT(SWRES);
while (CANGSTA & BIT(ENFG));
CAN_ClrMailBox();
CANBT1 = 0x02;
CANBT2 = 0x04;
CANBT3 = 0x13;
CANTCON = 0xFF;
CANPAGE = 0x00;
CANSTMOB = 0x00;
CANIDT4 = 0x00;
CANIDT3 = 0x00;
CANIDT2 = 0x40; // CANIDT2=IDT2 ~IDT0=010XXXXX
CANIDT1 = 0x02; // CANIDT1=IDT10~IDT3=00000001
CANIDM4 = 0xFF;
CANIDM3 = 0xFF;
CANIDM2 = 0xFF;
CANIDM1 = 0xFF;
CANCDMOB = 0x88;
CANGCON = 0x02;
while (!(CANGSTA & BIT(ENFG)));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -