拿CH582M-EVT有串口1的例子,可以正常工作,改為串口3也可以正常工作,但如果同時啟用串口1和串口3時,串口1正常,而串口3只能發(fā)4個字符,1、3的中斷的接收沒有問題。自己改了串口3的發(fā)送函數(shù),由于不會串口1、3的同時重定向,只好1重定向使用printf函數(shù),而串口3自己寫了個函數(shù):只能發(fā)頭一個字符了。
void printf3(uint8_t * Tx3Buff)
{
? ? uint8_t i=sizeof(Tx3Buff);
? ? while(i)
? ? {
? ? R8_UART3_THR=*Tx3Buff--;
? ? i--;
? ? while(R8_UART3_TFC);
? ? }
}