打印

又是关于万利板串口通讯问题。请香版主帮忙看看。

[复制链接]
2584|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
e_hui0000|  楼主 | 2009-2-5 16:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用万利板测试STM32官方USART的例子。用Hyperterminal_Interrupt的例程。已经能正确发送接收。

但当我把收发的数据格式改成常用的 8,N,1。 

  USART_InitStructure.USART_WordLength = USART_WordLength_9b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_No;

PC端也用9600,8,N,1 发送,之后发现板上中断接收的数据有错。 是乱码

但如果PC串口软件用8,N,2发送。即2位停止位,板子就能正确接收。

谁能告诉我是什么回事??????????  
沙发
香水城| | 2009-2-5 16:21 | 只看该作者

请使用USART_WordLength_8b

使用特权

评论回复
板凳
e_hui0000|  楼主 | 2009-2-5 16:30 | 只看该作者

是的。变成USART_WordLength_8b就可以了。

谢谢香版主。但是example的reame.txt上有说

Word Length = 8 Bits (7 data bit + 1 parity bit)

所以我以为如果8位数据位,就应该用USART_WordLength_9b(8 data bit + 1 parity bit).

原来是我理解错了。readme.txt好象有一点误导的意思。

使用特权

评论回复
地板
香水城| | 2009-2-5 16:50 | 只看该作者

奇偶检验位也需要计算为一个数据位

使用特权

评论回复
5
ddllxxrr| | 2009-2-17 13:07 | 只看该作者

奇偶较检位整的

顶一下

使用特权

评论回复
6
frange75| | 2009-10-27 15:36 | 只看该作者
Hyperterminal是什么东东?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

39

帖子

0

粉丝