SCI

    技术2022-06-24  75

       XS128的SCI寄存器主要用来通信,下面主要来介绍一下常用到的各个寄存器

       波特率控制寄存器SCIBDH SCIBDL 一般设置IREN=0,则SCI baud rate=SCI bus clock/(16xSBR[12:0])

       数据寄存器SCIDRH SCIDRL

       控制寄存器SCICR1和SCICR2

       状态寄存器SCISR1和SCISR2

    //串口部分

    void SCI_int()

    {

      SCI0BD=0x41;//40M时38400波特率

      SCI0CR1=0x00;//8为数据位,无校验

      SCI0CR2=0X2C;//发送允许,接收中断允许

      }

    unsigned char SCI_read()

    {

      if(SCI0SR1_RDRF==1)

    {

       SCI0SR1_RDRF=1;

       return SCI0DRL;

    }

    }

    void SCI_write(unsigned char sendchar )

    {

     while(!(SCI0SR1&0X80))

    SCI0DRH=0;

    SCI0DRL=sendchar;

    }

    #pragma CODE_SEG NON_BANKED

    void interrupt 20 SCI0_re(void)

    {

      unsigned char ch;

      ch=SCI_read();

     SCI_write(ch);

    }


    最新回复(0)