OpenEdv-开源电子网

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

USART 串口通信奇怪问题,还请大家帮忙看看,实在头疼

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-11-23
在线时间
0 小时
发表于 2013-11-23 13:12:15 | 显示全部楼层 |阅读模式
FF F9 F2 F3 E6 F5 E6 E7 CE C9 EA CB CE CD CE CF 
9E 99 9
2 93 96 D5 96 97 9E 99 9A 9B 9E 9D 9E DF 
3E 39 3
2 33 27 25 26 27 2E AD 2A 2B 22D 2E AF 
339 32 33 335 36 37 3E B9 3A 3B 33D 3E 3F 
7E 79 7
2 73 66 65 66 67 4E 6D 4A 4B 44D 44F 
5E 59 52 5555 56 57 559 5A 5B 55D 5E 5F 
7E 79 7B 7
3 665 66 77 669 6A 6B 66D 6E 6F 
7772 73 775 76 77 779 7A 7B 77D 7E 7F 
FE F9 F
F3 E6 E5 E6 E7 CE C9 CA CB CE CD CE CF 
99993 995 96 D7 9E DD 9A 9B 99D 9E 9F 
BE B9 B
2 B3 A6 B5 A6 A7 AA9 AAB AAD AE AF
 B
BB2 B3 BB5 B6 B7 BB9 BA BB BBD BE BF
 FE F9 F3 F3 E6 E5 E6 F7 CC9 EA CB CE CD CE EF 
DDD2 D3 DD5 D6 D7 DD9 DA DB DDD DE DF 
FE F9 F
2 F3 E6 F5 E6 E7 EE9 EA EB EED EE EF 
F
FF2 F3 FF5 FF7 FF9 FA FB FFD FE FF                       

大家好,串口通信的问题,请大家帮我分析一下,给点儿建议!

我用“AVR单片机串口”发送“00—FF”,一共256个数,用STM32的串口2接收,然后再用STM32的串口1发送给电脑的“串口调试助手”,
接收到的却是这样的256个数,红色部分为正确的,灰色为错误的,(单独用AVR单片机给串口调试助手传送数据,收到的256个数完全正确),

有部分是正确的,这应该说明程序是对的了啊,而且顺序没有乱。

而且有些地方,通过多次实验,证明不是“误码”,比如说,实际数据是“78”,但收到的是“7E”,而且每次收到的都是“7E”
而有些数据每次传输都没问题
量欲其富,质欲其精
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-11-23 16:45:50 | 显示全部楼层
单独STM32和电脑通信测试下
看看是不是波特率没设置好的问题.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-11-23
在线时间
0 小时
 楼主| 发表于 2013-11-23 17:01:54 | 显示全部楼层
我用STM32的串口1、串口2和串口调试助手单独通信,均能正常收发;将STM32串口1、串口2、串口调试助手连调,用串口调试助手给串口2发数据,并让串口1回传给串口调试助手,也能正常收发;在这一系列的测试中,串口调试助手的波特率均为9600,各串口程序也初步设置为9600,既然能够和串口调试助手正常通信,也应该说是对串口程序所设置的波特率进行了检测啊,应该也已说明串口程序中所设置的波特率确实为9600了啊
量欲其富,质欲其精
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
27
金钱
27
注册时间
2013-11-23
在线时间
0 小时
 楼主| 发表于 2013-11-23 17:02:59 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
我用STM32的串口1、串口2和串口调试助手单独通信,均能正常收发;将STM32串口1、串口2、串口调试助手连调,用串口调试助手给串口2发数据,并让串口1回传给串口调试助手,也能正常收发;在这一系列的测试中,串口调试助手的波特率均为9600,各串口程序也初步设置为9600,既然能够和串口调试助手正常通信,也应该说是对串口程序所设置的波特率进行了检测啊,应该也已说明串口程序中所设置的波特率确实为9600了啊
量欲其富,质欲其精
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 17:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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