FreeRTOS_STC32G_Demo_Canopen的学习疑问
FreeRTOS_STC32G_Demo_Canopen 里有如截图的说明:其中第4,5 提及如下:
4. 之后再按P5.4(RST)按键,CAN1发送CANID 0x20F:xx 报文,xx值控制P6口LED灯状态,每按一次按键 xx 加1;
5. 按板子上P3.2,P3.3,P3.4,P3.5按键,总线可以接收到CANID 0x18F:01,0x18F:02,0x18F:04,0x18F:08报文;
这里有个疑问:
这里的 能收发的CANID , 是只能是 屠龙刀板子上的例程那种发出的CAN 信号格式 吗?
还是说,只要我总线上,有这个CAN ID就行》 不管是什么单片机发出来的??
小弟平时工作中,不同的供应商会根据自己的习惯选择不同的单片机开发产品,那提供我们的模拟板都是在自家单片机基础上做的。
因此,小弟在想,能不能使用屠龙刀开发板,做一个通用的模拟板,这样就可以搭配不同供应商的产品,检测他们发出的CAN信号,
并做相应的处理。
目前根据例程,已经学了相同MCU之间的通信
现在就是纠结于不同MCU 之间的通信 。看了多资料,讲的都是收发都是下载到相同的板子上,形成组网。
没有讲,与其他MCU的板子组网,(比如STC32G 与 STC89C52+SJA1000组网 ,又或者STM8系列与 STC32G之间组网,)该如何处理。
理论上感觉每种MCU的底层寄存器配置不一样,发到总线上后,数据格式看起来都一样,但是STC32 接受后,又该如何解析成 STC32本身寄存器认识的格式呢?
以上,困惑很久,望路过大神,指点一二,谢谢啦
这里的 能收发的CANID , 是只能是 屠龙刀板子上的例程那种发出的CAN 信号格式 吗?还是说,只要我总线上,有这个CAN ID就行》 不管是什么单片机发出来的?
--任意设备的CAN信号均可收发,不同的mcu只要带can的均可组网,can总线本身就是为了不同设备之间的通信实现的。当然要确保这些设备之间的通信协议相匹配即可。
电子DIY小家 发表于 2024-2-23 13:03
这里的 能收发的CANID , 是只能是 屠龙刀板子上的例程那种发出的CAN 信号格式 吗?还是说,只要我总 ...
谢谢大佬。但又引申出个疑问,CAN总线 本身不就是个协议? 有信息,ID, 数据内容。
分析仪从总线上读取到后显示的也是 ,数据帧,标准帧或者扩展帧,DLC长度,已经 8个字节的内容。 基本都是这些
而分析仪每次打开也没具体去选什么协议(嗯,安装时候有其他协议插件,好像一直没用过。),但是他就可以分析不同设备不同MCU发出的CAN 内容。
(这么看,我的制作目标是想实现一个低配版的类似分析仪一样的板子,没有上位机那种功能)
这个和mcu没啥关系吧?格式都是一样的。就好像同一个视频文件,不同系统都能打开 我的理解,只要波特率相同,都使用一样的报文格式, 只要CAN滤波器能够通过CANID,硬件连接良好,那么在一个总线上的不同CAN设备应该就可以通讯了。
页:
[1]