你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F0串口接收最高位总是0

[复制链接]
everkimage 提问时间:2018-6-6 17:10 /
先说明是老程序了,之前没问题,一直在用。今天突然接收最高位总是0,比如发0xFF会收到0x7F,按照串口发送顺序,就是最后一位(停止位前)总是读到0。串口配置是8位数据、1位停止位、无奇偶校验、无流控制。
刚才我用官方库里面的代码跑了以下,可以收到完整数据。

请问下各位大神,这大概是怎么个问题?
收藏 评论8 发布时间:2018-6-6 17:10

举报

8个回答
七哥 回答时间:2018-6-6 18:09:14
一切以波形说话。
用你的STM32F0往出发数据,0x55、0xaa、0x5a、0xa5,示波器看一下波形。对比一下接收和发送的波形有什么不同,位数和波特率。

你接收发现的问题,同样可以在发送上反映出来。

另外,你是用什么给STM32F0发的数据?
之前遇到过USB转232线不靠谱问题,当发单字节的时候没问题,当连续发头0xff的时候,就会有问题,观察波形发现是连续发送后,USB转232线的波形出问题了。

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

疯de_恒 回答时间:2018-6-6 17:13:05
你程序设置为7 bit工作模式?看看波形怎么样吧。看看波形对不对?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wenyangzeng 回答时间:2018-6-6 17:57:42
应该是系统时钟频率出现偏差了。硬件问题。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

anobodykey 回答时间:2018-6-6 18:01:47
看数据图是不是对的,检查时钟是否正确配置

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

中山无雪 回答时间:2018-6-6 19:11:33
不像硬件问题,估计还是设置问题

看看原先用的MCU和现在的新品是不是有什麽改动(是不是厂家版本升级了,在这方面做了改正)

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

wudianjun2001 回答时间:2018-6-7 08:37:46
先检查硬件,换块板子看看

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

废鱼 回答时间:2018-6-7 08:41:22
从现象来看,应该是串口的配置不匹配导致。看一下源码中串口的配置。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

everkimage 回答时间:2018-6-7 09:30:06
本帖最后由 everkimage 于 2018-6-7 10:54 编辑

昨晚找了好久,发现是接收中断数据接收后与了下0x7F,不知道当初是怎么想的,可能是作测试忘了删掉了。对不起大家,浪费大家时间。非常感谢你们。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2 结帖奖励,解决就好

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版