51单片机与arduino32路舵机控制器实现TTL串口通讯

51单片机与arduino32路舵机控制器实现TTL串口通讯,第1张

同问~ 碰到同一个问题

现在可以确定的是32路舵机控制板是能够收到东西的~ 波特率从2400到115200都试过了,没用。

应该是校验位数据位的问题,还有一种可能就是发送的格式。说明书中的格式(我的板子给出的格式是#5P1600S750T2000\r\n),我觉得未必是正确的,可能在发送以上字符串的时候,32路舵机板接收到的并不是该字串,而是做了一些改动,或许还有一个类似帧头和帧尾的东西。

另外,我也试过用PC机直接做上位机,这种情况下,用随板赠送的程序写字符串的时候,舵机就有反应;而用串口调试大师写同样的字符串时,就没反应。。。

问题应该不大,但是很烦哎

使用芯片。TTL/485芯片提供RS485和TTL串口到TCP/IP网络和TCP/IP网络到RS485和TTL串口的数据透明传输,它可以使设备立即具备联入TCP/IP网络的功能。串口转以太网互联网模块,使TTL转RJ45,接入芯片即可完成,不需要流程。

关闭中断即可

即:

ES=0

EA=0

或者删除掉

ES=1

EA=1

循环的原因是

由于你打开了中断又没写中断服务函数,每次串口发完数据就会跳到0023H地址(串口中断入口)。

但是由于没有中断服务函数单片机就不断的从0023H地址运行到main再发送构成了无限循环。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7974165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存