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.

[参考译文] TMS320F28379D:如何知道何时 SCI 在不阻塞 CPU 的情况下完成传输

Guru**** 2588945 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1174932/tms320f28379d-how-to-know-when-sci-is-done-transmitting-without-blocking-cpu

器件型号:TMS320F28379D

我使用 MAX485芯片通过 F28379 MCU 上的 SCI 外设执行单端到 RS-485转换。  MAX485芯片要求将两个引脚驱动为高电平或低电平、具体取决于主机是发送还是接收。  现在、SCI 发送 ISR 将两个 GPIO 驱动至所需状态、然后将 TX 消息推送到 SCITXBUF。  传输完成后、我需要将 MAX485重新置入接收模式。  目前、这是通过阻断 CPU 并等待 SCI TXEMPTY 位为低电平(0x7214中的位6)来完成的-然后将 GPIO 设置为所需的状态、使 MAX485再次进入接收模式。

当这个过程运行时、它会阻止 CPU、这不允许我为主操作循环提供服务。  是否有更好的方法来确定 SCI 端口已完成传输、以便我可以调用另一个 ISR 来将 MAX485设置回接收模式?  TRM 特别声明 TXEMPTY 位不能产生中断。  我真的希望不再轮询 TXEMPTY 位。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Gabriel、

    您是否在应用中使用 FIFO? 如果是、您的配置是什么样的?

    此致、
    Marlyn