有没有CH554 串口1配置偶校验的例程?
你好,可以配置UITB8这个位来作为串口的奇偶校验位。
void UART1Init( )
{
if(ModParity==0)
U1SM0 = 0; //UART1选择8位数据位
else
U1SM0 = 1; //UART1选择9位数据位
U1SMOD = 1; //快速模式
U1REN = 1; //使能接收
SBAUD1 = 0 - FREQ_SYS/16/UART1_BUAD;
U1TI = 0;
IE_UART1 = 1;
EA = 1;
}
void CH554UART1SendByte(UINT8 SendDat)
{
//处理奇偶校验位
ACC=SendDat;
if(ModEven_or_Odd)
{
if(P)//偶校验
U1TB8=1;
else
U1TB8=0;
}
else
{ //奇校验
if(P)
U1TB8=0;
else
U1TB8=1;
}
SBUF1 = SendDat; //查询发送,中断方式可不用下面2条语句,但发送前需TI=0
while(U1TI ==0);
U1TI = 0;
}