请教各位RS485如何发送16bit字长的数据?
最近控制伺服电机,使用的编码器是尼康多圈绝对值式的,发现尼康的编码器通讯协议是基于RS485的,其数据帧格式如下:我用的是STM32做的控制芯片,想用它串口实现与编码器的通讯,但是发现STM32的数据帧格式是这样的,字长只能是8或9:
请教下各位这样的话要怎么实现双方之间的通讯呢? 自己软件实现串口? 需要串口转485芯片 拆成2个字节呗 本帖最后由 Himem 于 2020-6-17 18:32 编辑
gaolf_2012 发表于 2020-6-17 18:22
拆成2个字节呗
拆成两字节会多一个启动位停止位
发送可以用SPI之类同步串口来模拟时序,这样4帧加起来72bit,8位spi刚好,
就算多一些,最后一帧末尾补1也符合时序
不过接收看起来还是要软件实现 Himem 发表于 2020-6-17 18:26
拆成两字节会多一个启动位停止位
还不如用SPI之类同步串口来模拟时序,这样4帧加起来72bit,8位spi刚好 ...
是的,会多出起始位和停止位。但如果用SPI的话,尼康编码器又是基于RS485的,这要怎样通讯呢?
本帖最后由 Himem 于 2020-6-17 18:37 编辑
小黑人嘿嘿 发表于 2020-6-17 18:32
是的,会多出起始位和停止位。但如果用SPI的话,尼康编码器又是基于RS485的,这要怎样通讯呢?
...
逻辑时序对就行,485只是物理层 这个论坛上有人发过 模拟串口,这个是软件实现的,应该可以改成你要的时序。 用软件模拟吧
我是用CPLD来做的,因为还有帧是带CRC的。 io模拟串口 20061002838 发表于 2020-6-17 22:02
用软件模拟吧
嗯,看来只能这样了,谢谢哈
小黑人嘿嘿 发表于 2020-6-18 16:12
嗯,看来只能这样了,谢谢哈
(引用自12楼)
大哥,请问下问题解决了吗?我最近也在搞尼康的设备,协议格式差不多,想请教下 坚决上epm240,又不是太贵 一颗树莓派rp2040搞定,对就是那个破解switch游戏机的IC
页:
[1]