工具与软件:
您好!
我将使用与 SCI 示例3相同的参数设置代码、但具有硬件抽象层。 我使用轮询来读取/发送数据。
void sci_write (const uint16_t * const array、uint16_t length)
{
INT I=0;
for (i = 0;i < length;i++)
{
while (!SciaRegs.SCICTL2.bit.TXRDY);
SciaRegs.SCITXBUF.bit.TXDT = array[i];
}
}
void sci_READ (uint16_t * array、uint16_t length){
INT I=0;
for (i = 0;i < length;i++)
{
while (!SciaRegs.SCIRXST.bit.RXRDY);
array[i]= SciaRegs.SCIRXBUF.bit.SAR;
}
}
这是终端中显示的读取结果。 我能够正确读取前几个字符(图1)。 然后、Baudrate 寄存器和 SCICTL2寄存器被强制改变(图2)

图1端子读数


图2寄存器自动更改(左侧:右前:后)
(C2000 ware SCI 示例3运行良好、这意味着硬件、波特率、端口等已正确设置)