我目前正在使用带有 UART 的 PIC24,并且能够接收(Rx)和发送(Tx)字符。当尝试接收连续的字符流时会出现问题,其中开始位和停止位之间没有延迟。
UART设置为;7 个数据位,1 个奇偶校验位和 1 个停止位,1200 波特
在终端上显示接收到的字符时,它表明只有某些字符才能正确打印。我不认为这是波特率错误,因为当开始位和停止位之间的小延迟(即按住键盘上的键)时,我能够正确接收和打印字符。
要读取连续发送的两个字符,我正在执行以下操作。
char buf[512];
while (U2STAbits.URXDA == 0); //wait while Rx buffer is full
buf[0] = U2RXREG;
while (U2STAbits.URXDA == 0); //wait while Rx buffer is full
buf[1] = U2RXREG;
while (U2STAbits.UTXBF); //wait while Tx Bit not free
U2TXREG = buf[0];
while (U2STAbits.UTXBF); //wait while Tx Bit not free
U2TXREG = buf[1];