主题中讨论的其他器件: ISO7221A
大家好
我目前正在使用 TMS320F28388D。
我想使用921600处的 SCI 速度。
当前使用的主时钟使用20Mhz。
系统时钟的工作频率为200MHz、
LSPCLK 以50MHz 频率运行、具有4个分频。
此时、我尝试以波特率921600运行 SCI、
当 SCI 被传送到 Teraterm 等程序时、数据被断开。
连接连接方式如下。
28388D SCI 端口-> ISO7221A (隔离器)-> FT234XD -> USB 端口
ISO7221A 使用的最大传输速度为1Mbps、但 当使用示波器测量相应的波形时、已确认其正常输出。
FT234XD 在3Mbps 时具有足够的裕量。
下面是 SCI 的初始化代码。
void initSCIAFIFO() { SCI_setConfig(SCIA_BASE, DEVICE_LSPCLK_FREQ, 921600, (SCI_CONFIG_WLEN_8 | SCI_CONFIG_STOP_ONE | SCI_CONFIG_PAR_NONE)); SCI_enableModule(SCIA_BASE); SCI_resetChannels(SCIA_BASE); SCI_enableFIFO(SCIA_BASE); SCI_enableInterrupt(SCIA_BASE, (SCI_INT_RXFF | SCI_INT_TXFF)); SCI_disableInterrupt(SCIA_BASE, SCI_INT_RXERR); SCI_setFIFOInterruptLevel(SCIA_BASE, SCI_FIFO_TX2, SCI_FIFO_RX1); SCI_performSoftwareReset(SCIA_BASE); SCI_resetTxFIFO(SCIA_BASE); SCI_resetRxFIFO(SCIA_BASE); }
由 SCI_setConfig 函数计算得出的波特率921600为
SCIHBAUD = 0;
SCILBAUD = 5;
它具有上述值。 它是正确的吗?、
我认为它已正常初始化
数据会产生奇怪的结果。
请帮助
谢谢