求助,有没有CH554 串口1配置偶校验的例程?

有没有CH554 串口1配置偶校验的例程?

image.png

你好,可以配置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;
}


只有登录才能回复,可以选择微信账号登录