找回密码
 立即注册
查看: 352|回复: 2

can通信历程里面有几个点蒙?

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2024-4-11 16:31:47 | 显示全部楼层 |阅读模式
pdat[0] = 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
        }


回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:135
  • 最近打卡:2024-12-25 10:15:05

47

主题

1350

回帖

8058

积分

荣誉版主

冲哥视频教程和各种开源资料QQ交流群884047237,可群

积分
8058
QQ
发表于 2024-4-12 08:27:20 | 显示全部楼层
        if((isr & 0x40) == 0x40)//ALI
        {
                CANAR = ISR;
                CANDR = 0x40;//CLR FLAG
        }

这个是读取中断/应答状态寄存器,一旦哪个位出现错误需要手动写1清0。一旦出现对应的错误,可以在程序里写个亮起某个对应的指示灯来帮助定位错误
截图202404120826294697.jpg


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:497
  • 最近打卡:2025-04-30 20:48:13
已绑定手机

151

主题

589

回帖

1196

积分

金牌会员

积分
1196
发表于 2024-4-12 09:47:37 | 显示全部楼层
电子DI*** 发表于 2024-4-12 08:27
if((isr & 0x40) == 0x40)//ALI
        {
                CANAR = ISR;

感谢老师指点
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:19 , Processed in 0.189546 second(s), 59 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表