stm32串口校验问题

[复制链接]
5942|10
 楼主| skymlj2000 发表于 2009-9-23 11:45 | 显示全部楼层 |阅读模式
本帖最后由 skymlj2000 于 2009-9-23 14:20 编辑

stm32f103RB的串口设置如下:
USART_InitStructure.USART_BaudRate = 19200;
  USART_InitStructure.USART_WordLength = USART_WordLength_9b;
  USART_InitStructure.USART_StopBits = USART_StopBits_1;
  USART_InitStructure.USART_Parity = USART_Parity_Even;
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  USART_Init(USART1, &USART_InitStructure);
  
  USART_ClockInitStruct.USART_Clock = USART_Clock_Disable;
  USART_ClockInitStruct.USART_CPOL = USART_CPOL_Low;
  USART_ClockInitStruct.USART_CPHA = USART_CPHA_2Edge;
  USART_ClockInitStruct.USART_LastBit = USART_LastBit_Disable;
  USART_ClockInit(USART1,&USART_ClockInitStruct);
  
  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
  USART_Cmd(USART1, ENABLE);

PC端的串口调试助手设置如下:
19200,8,1,Even,nonefile:///d:/1.jpg


但是实际测试了一下就有问题了,stm32发到pc机的数据是正确的,但是从pc机发到stm32的数据就不对了,请各位高手分析一下,谢了!
 楼主| skymlj2000 发表于 2009-9-23 13:22 | 显示全部楼层
自已顶一下,只能看的人,没有人解答一下嘛?高手那里去了啊。
lllttt7777 发表于 2009-9-23 14:03 | 显示全部楼层
这个应该是你串口调试助手的问题,初步估计是奇偶校验这里的问题。
 楼主| skymlj2000 发表于 2009-9-23 14:23 | 显示全部楼层
本帖最后由 skymlj2000 于 2009-9-23 14:24 编辑

1.jpg 应该不是串口调试住手设置的问题!
1.jpg
 楼主| skymlj2000 发表于 2009-9-23 14:25 | 显示全部楼层
上面这样设置应该是对的吧。
lllttt7777 发表于 2009-9-23 17:31 | 显示全部楼层
呵呵,你用的是sscom这个工具,确实不能发送带校验位的
不信你可以试试两边都不发送校验位,通信就正常了
 楼主| skymlj2000 发表于 2009-9-24 08:07 | 显示全部楼层
两边不带校验位,我试了,确实是可以的,那不能发送带校验位的,是sscom这个工具不行了,不是我下面设置有问题是吧?那用那个工具可以呢?
trihook 发表于 2011-10-27 13:17 | 显示全部楼层
串口 工具
请如实填写 发表于 2011-10-31 15:36 | 显示全部楼层
用个串口监控软件看下发送的数据就知道了
shuaibaobao 发表于 2011-11-27 22:03 | 显示全部楼层
不明白怎么还如实填写。
zhanxiao 发表于 2011-11-29 22:45 | 显示全部楼层
建议使用STC的串口助手,我用过,可以的,sscom是发送不带奇偶校验的,我之前也用示波器看过,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

16

帖子

0

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