这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 串口通信时最高位始终置1的问题已解决

共27条 1/3 1 2 3 跳转至

串口通信时最高位始终置1的问题已解决

助工
2012-05-10 07:23:48     打赏
串口通信时数据最高位都被置1了,比如STM32发送0给电脑,串口调试助手收到的数据是0x80,这是为什么?这个问题困扰我一整天了。。。   注:时钟,波特率都设置正确
问题已解决,确实是设置了奇偶校验位,导致出错。
    USART_InitStructure.USART_Parity = USART_Parity_Even;
  改为:
    USART_InitStructure.USART_Parity = USART_Parity_No;
原本以为ISP串口下载程序需要把loader设置成Even,所以把串口程序也改成Even了。

这里再次感谢hanshuyujifen2帮我指正!



关键词: 串口     通信     时最     高位     始终     问题     解决    

工程师
2012-05-10 08:58:13     打赏
2楼
波特率是否一直,最好用11.0592M的晶振,还有就是周围有没有干扰

专家
2012-05-10 09:43:56     打赏
3楼
好像不是波特率的事情

助工
2012-05-10 12:17:52     打赏
4楼
很多时候软件出错并不一定仅仅是软件的问题,检查你硬件线路上可能发生干扰的线路,适当的增加去耦电容。

助工
2012-05-10 13:59:51     打赏
5楼
应该不是硬件的问题

工程师
2012-05-10 21:54:42     打赏
6楼

有可能是晶振的问题啊,或者波特率的问题,只能一个一个的排除


高工
2012-05-10 22:02:19     打赏
7楼
应该不是硬件问题

院士
2012-05-10 22:39:42     打赏
8楼
不防把软件代码帖出来。让大家帮你分析一下。

高工
2012-05-10 23:05:19     打赏
9楼
程序发我邮箱,明天给你看看。hanshuyujifen#yahoo.com.cn

助工
2012-05-11 07:21:52     打赏
10楼
已发送

共27条 1/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]