can通信历程里面有几个点蒙?
pdat = CanReadReg((u8)(RX_BUF0 + (RX_Index++&3)));//这句话搞我有点蒙,谁能解释一下???//下面这几句也是,看不懂,请哪位老师指点一下???
if((isr & 0x40) == 0x40)//ALI
{
CANAR = ISR;
CANDR = 0x40;//CLR FLAG
}
if((isr & 0x20) == 0x20)//EWI
{
CANAR = ISR;
CANDR = 0x20;//CLR FLAG
}
if((isr & 0x10) == 0x10)//EPI
{
CANAR = ISR;
CANDR = 0x10;//CLR FLAG
}
if((isr & 0x02) == 0x02)//BEI
{
CANAR = ISR;
CANDR = 0x02;//CLR FLAG
}
if((isr & 0x01) == 0x01)//DOI
{
CANAR = ISR;
CANDR = 0x01;//CLR FLAG
}
if((isr & 0x40) == 0x40)//ALI
{
CANAR = ISR;
CANDR = 0x40;//CLR FLAG
}
这个是读取中断/应答状态寄存器,一旦哪个位出现错误需要手动写1清0。一旦出现对应的错误,可以在程序里写个亮起某个对应的指示灯来帮助定位错误
电子DIY小家 发表于 2024-4-12 08:27
if((isr & 0x40) == 0x40)//ALI
{
CANAR = ISR;
感谢老师指点
页:
[1]