秋加数码网

用STC单片机模拟串口,接收的时候,只有第一个字节是正确的,后边的都错误,而且接收的数据比正确的数据短?单片机串口数据错误

文章目录


用STC单片机模拟串口,接收的时候,只有第一个字节是正确的,后边的都错误,而且接收的数据比正确的数据短?

不要用函数调用来延时!!

对于时间精度要求高的场合,函数调用是很不合适,因为函数的参数传递,当前状态的进栈出栈都要消耗时间,而这些时间你未必能完全掌握,就象你的串口接收,我估计波特率的偏差肯定非常大,所以才会造成你所说的情况。

用STC单片机模拟串口,接收的时候,只有第一个字节是正确的,后边的都错误,而且接收的数据比正确的数据短?单片机串口数据错误-图1

建议你还是用定时器来延时,以while(TF0)或while(TF1)来等待延时结束。

在VB和单片机串口通信的时候每次弹出Temp(1) = CByte(Outputsignal) 提示是子函数或者程序未定义?

子函数或者程序未定义 ,这个错误信息不是告诉你了吗,检查你的代码中是否Temp数组或 Outputsignal未定义。

单片机串口打开失败?

在设备管理中,找到那个打问号等我设备,然后设置该设备驱动加载目录(前提条件,先下载该设备的驱动程序,这个程序是免安装版的。)

用STC单片机模拟串口,接收的时候,只有第一个字节是正确的,后边的都错误,而且接收的数据比正确的数据短?单片机串口数据错误-图2

这个问题我来回答。一般情况下,单片机打开串口需要经过初始化设置,包括波特率设置,数据位、停止位和校验位设置,开启串口等步骤。如果设置没有问题,一般串口就会成功开启。该问题中串口打开失败,提问者可以从笔者所提到的几个设置方面排查,以便解决问题。

到此,以上就是小编对于的问题就介绍到这了,希望介绍的3点解答对大家有用,有任何问题和不懂的,欢迎各位老师在评论区讨论,给我留言。

用STC单片机模拟串口,接收的时候,只有第一个字节是正确的,后边的都错误,而且接收的数据比正确的数据短?单片机串口数据错误-图3
分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~