This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好!
我的 SCI 通信实现有问题。 我正在使用 TX FIFO 空中断来帮助确定何时传输一条消息、但我无法在那里执行收发器方向引脚切换、因为这样做显然会导致消息不完整/Lops 离已传输数据的最后一个字节。 为此、我利用1ms 的时钟 SWI 在 TX FIFO 空中断发生后执行引脚切换。 这并不是最佳选择、因为我们的一些客户并不具有稳健的应用、并且当前的实现方案会在其系统中产生一些小噪声。
我正在寻找一项建议或另一种模式来使用、并帮助消除会给客户带来噪声的多余几微秒信号。
此致、
-韦斯
尊敬的 Wes:
是否可以改用 TXRDY 作为中断源? 这应该晚于 TX FIFO 空中断发生、因为 FIFO 的内容在数据被移出到 TX 引脚之前被移出到 TXBUF。
谢谢!
卢克
或许在 TX FIFO 为空中断之后、我可以尝试启用 TXRDY 中断、并在发生方向引脚切换时使用它来进行切换。 我来试一下。 谢谢!
您好、Wesley:
此应用是否需要 FIFO 模式? 如果没有、那么在使用非 FIFO 模式时会出现同样的问题吗?
另一个选项是使用 CLB。 这可以采用 SCIA_TX 信号作为输入、 每当 SCI_TX 线路为高电平时、您可能会有一个处于 CLB 增量的计数器、每当 SCI_TX 线路为低电平时、就会复位。 如果 SCI_TX 线路为高电平的时间过长、计数器将达到 CLB 配置中指定的某种匹配值、CLB 中的 HLC 可能会触发中断 、以将 SCI_TX 线路配置为输入。 请告诉我、这在您的应用中是否可行。 如果是、我建议使用 SysConfig 配置 CLB。 以下是 CLB 工具用户指南的链接:
如果您有任何进一步的问题、请告诉我。
谢谢!
卢克