CAN分帧接收实现
该版本程序实现了上电后先发送MACID检测功能,如果网络上有应答。则一直进行死循环,直到用户更改了本机的ID地址 才可以跳出循环体。
本单片机设置为双滤波 ,使目标地址为0X1F
实现了建立连接命令
发送 帧 ID号 是0X0023E4FE 数据部分是 00 ee 20 (20 对应十进制32)
则单片机返回帧 帧ID号 0x03e034ee 数据部分 是 00 01 02 03 04
同时数码管可以看见 从0 增加到 31
建立连接命令以后,如果在连接时间内 你再次发送连接命令,则单片机会上传错误指示,指示当前不能再进行连接。
写数据指令。。 你通过分帧写 一组数据 数据的字节总数小于7
建立连接以后,发送帧的ID号 为 0X0023E180 数据 为 00 01 02 03
表示写3个字节 分别是 01 02 03
用串口调试助手显示出来
设置的字节数 大于7 小于等于 14 这个 现在 还有问题
设置的数据字节总数 大于14 小于21
设置的字数 大于 14 小于 30 我尝试用分帧处理 现在还不成功
现在 读数据
我在软件中设置了一个数组 read_rec [30]
通过CAN总线 ,将这个数组中的元素读出来,
我只读一个数据
发送读数据的帧 ID号 0X0023E2A0 数据部分 为 00 01
我读取 15个数据 00 0F