打印
[STM8]

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

[复制链接]
2137|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

使用特权

评论回复
5
mmuuss586| | 2014-6-5 18:38 | 只看该作者
有8位和9位的区别,可以用示波器看下到底发了几位

使用特权

评论回复
6
Adu0227| | 2014-6-6 11:15 | 只看该作者
同意楼上

使用特权

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

本版积分规则

11

主题

49

帖子

1

粉丝