请教 CH549 串口0 使用

串口0连接到CH9121 转网口。想用串口0收发数据。出现两个奇怪问题:

1、当初始化串口0 ES=1,usb口就会出问题,无法识别。注释掉这句USB就正常通信。不知道问题在哪里。

2、还有按照下列发送程序发送,程序会卡在while出不来。TI好像一直不会置位。

void uart0_Send(unsigned char x)

{

  SBUF = x;

      while(TI==0)

{

 ;

}

       TI = 0;

}


well setting ES=1 implies using uart0 in interrupt mode. I supose you dont have a interrupt  handler for uart0.

Therefore the program will crash on the first serial event (TI or RI)

[code]

void uart0_irq(void) interrupt INT_NO_UART0

{

   if(Ri)

   {

       RI=0;

       ....

   }

   if (TI)

   {

      TI=0;

      ....

   }

}

[/code]


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