CH32V203 多机通信应该怎么实现:

这个寄存器在什么情况下生效?

收到的包以什么判断是地址还是数据(是最高位为1吗?)

是否存在广播地址为0xf?如何设置?

如果地址范围超过4字节,能否将所有最高位为1的包视为地址包接收,并产生中断?


image.png

您好,关于地址位,一般用于串口一主多从时配置主机设备地址。程序中需要配置地址唤醒,当地址匹配后唤醒串口接收数据。应该不存在广播地址0xf,地址配置主要就这4个位,不会有什么4字节。下链接为一主多从应用介绍,可参考一下。

https://www.cnblogs.com/wchmcu/p/18003575

 


有can功能,可以使用can通信,canopen开源协议了解一下,pdo、sdo实现master/slaver多节点通信及管理。


3楼的,can与uart的成本和复杂度可不是一点两点哦,


感觉都差不多,都是协议的问题。工业控制这块,can通信应该是很常见了。很多东西都是别人都做好了,你会用就已经很牛了。比如canopen协议有开源的canfetival,人家都写好了,你学会应用就行了。当然离不开你自己对协议的了解、学习。接触一些优秀的协议,也是对自己的提升。


楼主研究这个和去研究CAN,本质上是一样的。有那个时间CAN估计也差不多了,而且还有现成的例子参考,野火、原子、硬汉等等,太多可以学习借鉴的资料了


只有登录才能回复,可以选择微信账号登录