STM32F串口出现奇怪现象,是不是串口收发器BUG,望高手指点

[复制链接]
5185|14
 楼主| yexiaoyong82 发表于 2010-12-13 19:30 | 显示全部楼层 |阅读模式
本帖最后由 yexiaoyong82 于 2010-12-13 19:58 编辑

大家好,我用的是红牛开发板,CPU型号是STM32F103ZE,在进行串口实验时,STM32会将收到的数据原封不动的发送回来。在实验中,如果发送的数据不是0x00,收发正确,即串口发送什么东西,STM32都会正确接收,并回复给串口助手,串口助手也能正确显示出来。但如果我以hex格式连续发送多个00 00时,串口助手会收到STM32回复FF,然后才是我所发送给STM32的数据。更奇怪的是,当这个开发板通电后,即使程序不运行,我用串口助手以16进制的格式连续发送多个00,比如00 00 00,此时串口助手也会收到STM32F自动回复的FF。请问是什么原因?注意,串口助手一定要以hex格式连续发送两个以上的00 00,然后显示也必须以hex显示,就会重现,请高手帮忙分析,不甚至感激。如图1
test1.jpg
图1实验的是全部发00时的结果
test2.jpg
图2实验的是发送有连续00也有其它非00数据的结果,图2看出,先收到两个FF,然后才才回复串口助手发给STM32的数据

更奇怪的是,即使是跟串口无关的程序,串口完全被关闭状态,只要STM32F103上电,然后通过串口助手给它发连续hex的00 00 00 00,也会收到回复FF,所以请高手看看,是不是STM32F103ZE串口收发器有BUG呢?
airwill 发表于 2010-12-13 21:30 | 显示全部楼层
会不会是开发板 的硬件问题?
 楼主| yexiaoyong82 发表于 2010-12-14 09:54 | 显示全部楼层
我也怀疑有这个可能哦,但是不知道有哪位兄弟也有STM32F103ZET的红牛开发板,做个对比实验看看,我这只有一块开发板,所以没法做比较实验啊
香水城 发表于 2010-12-14 14:18 | 显示全部楼层
又一个怀疑芯片BUG的,:L

LZ为什么不用示波器看看?
 楼主| yexiaoyong82 发表于 2010-12-14 14:53 | 显示全部楼层
我只是怀疑哈,目前示波器还没买回来,所以只有需求大家的帮助哦,原因奇怪,正在摸索当中
xuehui869 发表于 2010-12-14 16:13 | 显示全部楼层
哈哈,楼主,又抓到你了,跑到这来问了
xuehui869 发表于 2010-12-14 16:13 | 显示全部楼层
还没有解决吗。   用逻辑分析仪抓下看看
 楼主| yexiaoyong82 发表于 2010-12-14 17:29 | 显示全部楼层
呵呵,我看这个问题很可能是个体差异造成的,因为有的时候它又不出现这个现象,有的时候又不断的出现,所以我还是等一段时间,等我们自己的板子出来时再做对比测试看看
lu150 发表于 2010-12-15 13:16 | 显示全部楼层
看看你的通讯线  可能是通讯线有问题
jgphu 发表于 2010-12-15 17:09 | 显示全部楼层
把你的UART这块的程序贴出来啊

友情提醒: 调试助手的波特率设置是不是一至的。
z_yc 发表于 2010-12-15 17:46 | 显示全部楼层
以前用AVR的时候也碰到过类似现象,最后发现是串口连接线的问题,可以试试把RX和TX线分开一点
 楼主| yexiaoyong82 发表于 2010-12-15 17:55 | 显示全部楼层
11楼所言极是,如果用串2,同样的程序,结果就没有这个现象了,多半是线路的问题哦,所以要等新板子回来再做对比实验看看
jgphu 发表于 2010-12-17 10:36 | 显示全部楼层
无厘头的解答,我用的是杜邦线,RX,和TX相邻,从来都没有问题的。
 楼主| yexiaoyong82 发表于 2011-2-27 20:19 | 显示全部楼层
我公司自己的板子出来了,同样的电路和芯片,串口0通信正常,没有这个奇怪的现象出现了,看来是红牛开发板的问题哈
hzj8300 发表于 2011-2-27 21:44 | 显示全部楼层
是不是你的开发板的232芯片问题,这些问题有多个可能
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

6

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部