OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3895|回复: 8

串口波特率的问题

[复制链接]

16

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2014-9-23
在线时间
15 小时
发表于 2015-9-8 16:17:01 | 显示全部楼层 |阅读模式
5金钱
一次偶然发现的问题,自己想了很久,没有办法!
问题:当我用电脑串口助手和103单片机通信时(板子波特率设置19200),采用modbus—RTU协议,串口助手设置19200,能正常收到返回的数据,当我把串口助手波特率改成9600,通讯没反应,此时战舰板子的灯不闪了(主函数除了个if判断串口接收函数,就剩个灯的闪烁),助手改回19200页通不上了,我怀疑是程序死掉了。。。。大家有没有遇到这样的问题?求解

最佳答案

查看完整内容[请看2#楼]

如果重新上电就一切正常,问题既与你的使用方式有关,也与软件有关。 通常是不修改波特率的,所以没问题; 修改波特率以后,其中一方并不知道,仍然按照旧的波特率; 这时,按新的波特率发送数据,另一方照样会收到数据,但数据是错的,因为波特率变了; 然后是另一方的软件问题,因为收到错误数据而跑飞。 总之,如果通信过程中要改变波特率,双方必须有一套机制。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11552
金钱
11552
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-9-8 16:17:02 | 显示全部楼层
如果重新上电就一切正常,问题既与你的使用方式有关,也与软件有关。

通常是不修改波特率的,所以没问题;

修改波特率以后,其中一方并不知道,仍然按照旧的波特率;
这时,按新的波特率发送数据,另一方照样会收到数据,但数据是错的,因为波特率变了;
然后是另一方的软件问题,因为收到错误数据而跑飞。

总之,如果通信过程中要改变波特率,双方必须有一套机制。
回复

使用道具 举报

2

主题

239

帖子

0

精华

高级会员

Rank: 4

积分
545
金钱
545
注册时间
2015-6-5
在线时间
110 小时
发表于 2015-9-8 17:14:49 | 显示全部楼层
應該是你沒寫發生錯誤資料時要怎麼辦的相關程式吧
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11552
金钱
11552
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-9-8 18:01:38 | 显示全部楼层
重新上电,板子能恢复正常吗?
回复

使用道具 举报

16

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2014-9-23
在线时间
15 小时
 楼主| 发表于 2015-9-9 08:21:39 | 显示全部楼层
能,但是这样的情况不能出现在项目上啊,很多东西都是通过上位机控制的,显然不能对板子进行重新上电
回复

使用道具 举报

16

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2014-9-23
在线时间
15 小时
 楼主| 发表于 2015-9-9 11:52:23 | 显示全部楼层
回复【4楼】xuande:
---------------------------------因为战舰有485模块,是usart2口,我用mini的  同样的程序(引脚不同),mini就不会出现波特率不匹配程序死机不能恢复的情况,除非复位, 难道是串口1可以 2不行?应该不会把
回复

使用道具 举报

16

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2014-9-23
在线时间
15 小时
 楼主| 发表于 2015-9-9 14:44:58 | 显示全部楼层
继续跟新找问题进展。。用战舰usart1 做485实验也存在这样的问题,232实验不存在问题,SP3485引起的问题。。。。
回复

使用道具 举报

16

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
201
金钱
201
注册时间
2014-9-23
在线时间
15 小时
 楼主| 发表于 2015-9-9 16:30:50 | 显示全部楼层
再试试自己焊接个ADM2483隔离芯片 做485,还是不行的话 我就要崩溃了。。
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-9-10 18:52:57 | 显示全部楼层
据说stm32有自适应串口波特率功能的。楼主不妨研究研究。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 20:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表