[STM8] stm8s207使用库函数 奇偶校验设置的问题

[复制链接]
2533|5
 楼主| camdw 发表于 2014-6-5 15:09 | 显示全部楼层 |阅读模式
当不加校验的时候,例如下面选择 UART1_PARITY_NO 时,用串口助手收发都没有问题

UART1_Init((u32)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, \
    UART1_PARITY_NO , UART1_SYNCMODE_CLOCK_DISABLE , UART1_MODE_TXRX_ENABLE);

当改为偶校验的时候,
UART1_Init((u32)115200, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, \
    UART1_PARITY_EVEN, UART1_SYNCMODE_CLOCK_DISABLE , UART1_MODE_TXRX_ENABLE);

串口助手的校验位也设置为偶校验,这时候数据就错了,怎么回事?试了2种串口助手都是一样的~
 楼主| camdw 发表于 2014-6-5 16:11 | 显示全部楼层
版主在吗?能不能帮忙看下,很奇怪呀!
lanmp 发表于 2014-6-5 16:19 | 显示全部楼层
ST在串口设置上很奇葩,Parity算一位数据,所以如果你用了parity,你应该使用9bit数据。
 楼主| camdw 发表于 2014-6-5 17:20 | 显示全部楼层
lanmp 发表于 2014-6-5 16:19
ST在串口设置上很奇葩,Parity算一位数据,所以如果你用了parity,你应该使用9bit数据。 ...

果然是这样啊!:D
mmuuss586 发表于 2014-6-5 18:38 | 显示全部楼层
有8位和9位的区别,可以用示波器看下到底发了几位
捕获.JPG
Adu0227 发表于 2014-6-6 11:15 | 显示全部楼层
同意楼上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

49

帖子

1

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