单片机串口通信,发送数据感觉不对,请大佬帮看看?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机串口通信,发送数据感觉不对,请大佬帮看看?相关的知识,希望对你有一定的参考价值。

参考技术A 你的主循环转得太快,前一个数据还没发送完就把SBUF又填充新数值,这样很容易破坏发送的帧。
既然你不开中断,就应当采用查询工作方式,查询TI标志位确认发送完成之后再进行下一步工作。追问

那我的发送方式有问题吗

追答

当然是有问题的,我上面已经说了


既然你不开中断,就应当采用查询工作方式,查询TI标志位确认发送完成之后再进行下一步工作。


追问

那如果我加了查询ti标志位后,sbuf=0x13发送16进制数正确吗

参考技术B

提供的错误信息不足以判断的更准确,先考虑:1,单片机设置在那个模式。2,连接线是全双工还是半双工。3,传输数据格式,4波特率。

追问

这是单片机对一个模块发送指令

串口是单片机rx接模块tx,单片机tx接模块rx

追答

纽接对,模块的参数与串口模式?

追问

追答

追问

刚学,不是很懂

参考技术C 利用串口通信控制!这类问题的解决方法是!
首先先用串口助手发送数据去控制接收端!如果没问题!
第二就是单片机程序运行起来之后!接到串口助手上!看发送的数据是不是你要的数据
看你的描述!第一步已经没有问题了!第二步,你可以把单片机的串口接到电脑上!看看发送的数据对不对!在这里!就是看发送的数据是不是十六进制的 AA 02 00 AC。
当然最重要的是波特率,数据位数,是否有校验位 还有是否都是ttl电平!
当然你可以把程序都贴出来让大家帮你看看!追问

程序已经发出来了

以上是关于单片机串口通信,发送数据感觉不对,请大佬帮看看?的主要内容,如果未能解决你的问题,请参考以下文章

51单片机串口通讯

stm8用串口通信,数据发不出去

串口uart发送出错

STM32 串口通信基础知识

JAVA串口怎么发送16进制?

单片机怎么通过串口发送一串数据?