打印

stm32串口校验问题

[复制链接]
4878|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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 (35.86 KB )

1.jpg

使用特权

评论回复
5
skymlj2000|  楼主 | 2009-9-23 14:25 | 只看该作者
上面这样设置应该是对的吧。

使用特权

评论回复
6
lllttt7777| | 2009-9-23 17:31 | 只看该作者
呵呵,你用的是sscom这个工具,确实不能发送带校验位的
不信你可以试试两边都不发送校验位,通信就正常了

使用特权

评论回复
7
skymlj2000|  楼主 | 2009-9-24 08:07 | 只看该作者
两边不带校验位,我试了,确实是可以的,那不能发送带校验位的,是sscom这个工具不行了,不是我下面设置有问题是吧?那用那个工具可以呢?

使用特权

评论回复
8
trihook| | 2011-10-27 13:17 | 只看该作者
串口 工具

使用特权

评论回复
9
请如实填写| | 2011-10-31 15:36 | 只看该作者
用个串口监控软件看下发送的数据就知道了

使用特权

评论回复
10
shuaibaobao| | 2011-11-27 22:03 | 只看该作者
不明白怎么还如实填写。

使用特权

评论回复
11
zhanxiao| | 2011-11-29 22:45 | 只看该作者
建议使用STC的串口助手,我用过,可以的,sscom是发送不带奇偶校验的,我之前也用示波器看过,

使用特权

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

本版积分规则

2

主题

16

帖子

0

粉丝