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

[复制链接]
3631|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 | 显示全部楼层

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

ddllxxrr 发表于 2009-2-17 13:07 | 显示全部楼层

奇偶较检位整的

顶一下
frange75 发表于 2009-10-27 15:36 | 显示全部楼层
Hyperterminal是什么东东?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

39

帖子

0

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