STC8H2K08U串口接收硬件奇偶校验演示例程
注:STC8H2K08U-A版本-大量生产的版本,
===新增 串口接收有硬件奇偶校验,
===串口发送的硬件奇偶校验位自动产生,暂时没有,需要软件处理,后续B版本再增加这个。
通过定义使能奇偶校验:
- #define NONE_PARITY 0 //无校验
- #define ODD_PARITY 1 //奇校验
- #define EVEN_PARITY 2 //偶校验
-
- #define PARITYBIT ODD_PARITY //定义校验位
复制代码
串口1硬件奇偶校验寄存器配置:
- #if (PARITYBIT == NONE_PARITY)
- USARTCR2 = 0x00; //禁止硬件产生奇偶校验
- #elif (PARITYBIT == EVEN_PARITY)
- //串口1(模式3:可变波特率9位数据)
- SCON |= 0xc0;
- USARTCR2 = 0x04; //使能硬件产生偶校验
- #elif (PARITYBIT == ODD_PARITY)
- //串口1(模式3:可变波特率9位数据)
- SCON |= 0xc0;
- USARTCR2 = 0x06; //使能硬件产生奇校验
- #endif
复制代码
串口2硬件奇偶校验寄存器配置:
- #if (PARITYBIT == NONE_PARITY)
- USART2CR2 = 0x00; //禁止硬件产生奇偶校验
- #elif (PARITYBIT == EVEN_PARITY)
- //串口2(模式1:可变波特率9位数据)
- S2CON |= 0x80;
- USART2CR2 = 0x04; //使能硬件产生偶校验
- #elif (PARITYBIT == ODD_PARITY)
- //串口2(模式1:可变波特率9位数据)
- S2CON |= 0x80;
- USART2CR2 = 0x06; //使能硬件产生奇校验
- #endif
复制代码
参考例程:
STC8H2K08U-串口1串口2-接收硬件奇偶校验-发送软件奇偶校验.zip
(15.95 KB, 下载次数: 59)
|