找回密码
 立即注册
查看: 1033|回复: 3

还是接收到的报文如何点亮一个LED的问题

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:286
  • 最近打卡:2025-05-01 02:56:56
已绑定手机

8

主题

105

回帖

640

积分

高级会员

积分
640
发表于 2024-9-19 17:24:08 | 显示全部楼层 |阅读模式
本帖最后由 ysp5318 于 2024-9-19 17:24 编辑

               if(sr & 0x01)                //判断是否有 BS:BUS-OFF状态
                {
                    CANAR = MR;
                    CANDR &= ~0x04;  //清除 Reset Mode, 从BUS-OFF状态退出
                }
                else
                {
                    CanSendMsg(&CAN2_Tx);   //发送一帧数据
                }
            }
        }

        if(B_Can1Read)
        {
            B_Can1Read = 0;

            CANSEL = 0;         //选择CAN1模块
            n = CanReadMsg(CAN1_Rx);    //读取接收内容
            if(n>0)
            {
                for(i=0;i<n;i++)
                {
                                                if(CAN1_Rx.ID == 0x0567)
                                                {
                                                        if(CAN1_Rx.DataBuffer[0] == 0x11)
                                                        {
                                                                                 P20 = 0;                //LED On   //开灯
                                                        }
                                                        else
                                                        {
                                                                                 P21 = 0;                //LED On    //开灯
                                                        }
                                                                        }
//                                                CanSendMsg(&CAN1_Rx);  //CAN总线原样返回
//                    printf("CAN1:ID=0x%08lX DLC=%d FF=%d RTR=%d ",CAN1_Rx.ID,CAN1_Rx.DLC,CAN1_Rx.FF,CAN1_Rx.RTR);   //串口打印帧信息
//                    for(j=0;j<CAN1_Rx.DLC;j++)
//                    {
//                        printf("0x%02X ",CAN1_Rx.DataBuffer[j]);    //从串口输出收到的数据
//                    }
//                    printf("\r\n");
                }

把屠龙刀中14-CAN1-CAN2总线标准帧扩展帧同时使用收发测试的程序作了以上修改但在
屠龙刀上不能实现,请老师赐教。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:415
  • 最近打卡:2025-04-30 09:58:34
已绑定手机

39

主题

2006

回帖

6841

积分

论坛元老

积分
6841
发表于 2024-9-19 18:05:37 | 显示全部楼层
例程包里面的例子读取报文是存放在结构体数组,循环判断收取的每个报文的内容
截图202409191759029630.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:286
  • 最近打卡:2025-05-01 02:56:56
已绑定手机

8

主题

105

回帖

640

积分

高级会员

积分
640
发表于 2024-9-20 15:12:43 | 显示全部楼层
谢谢乘风老师!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:321
  • 最近打卡:2025-05-01 21:04:13
已绑定手机

21

主题

487

回帖

1027

积分

金牌会员

积分
1027
发表于 2024-9-20 19:57:15 | 显示全部楼层
一语点破
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 00:01 , Processed in 0.140751 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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