工具/软件:TI C/C++编译器
您好!
我叫 Julian、目前正在与 Hercules Safetiy MCU Dev 合作。 套件(TMS570LC43 MCU)。
简而言之、我正在研究一个需要使用多个 SCI 接口和 EMIF 的项目。 由于 EMIF 与 SCI4共用引脚、因此剩下的唯一串行接口是 SCI1、SCI2和 SCI3。
我使用 USB 转 TTL 检测器将终端与板连接。
SCI1用作从电路板返回到 Hercules 连接到的终端的报告工具(经典"put()"功能)。 应使用 SCI2从终端接收数据、并使用 SCI3将数据发送回终端(已处理数据)。 大家可以看到、我的设置是 Hercules 和我的终端之间的环路、使用 SCI2作为 RX 端口(板侧)、使用 SCI3作为 TX 端口(板侧)、而 SCI1用作调试或报告工具。
如果没有更多的 ado、SCI2作为一个 RX 端口根本不接收数据。 即、"Terminal -> SCI2 -> Hercules > SCI3 -> Terminal"连接不起作用。 然而、如果我使用 SCI4作为接收器、它确实起作用; "终端-> SCI4 -> Hercules > SCI3 ->终端"。 但我知道 SCI4不能使用、因为我与 EMIF 外设有引脚多路复用冲突。 因此、我必须弄清 SCI2为什么不起作用。
引脚复用设置正确(据我所知、我启用了 SCI3、SCI4和 LIN2/SCI2)、并且没有复用冲突;所有串行端口也设置了中断;据我所知、我将 USB 连接到 TTL 连接器并连接到电路板上的正确 I/O。 这是:SCI2/LIN2应该为 P4 (RX)和 T5 (TX)。 当然、由于我可以正确接收/发送所有数据、SCI3 (W3、N2)和 SCI4 (A13、B13)也是正确的。
我将 SCI1/LIN1直接与 JTAG 连接器搭配使用。
我缺少什么吗? 为什么所有串行接口都工作、而 SCI2却不工作? 我是否缺少配置? 我是否未使用正确的连接器? 它是否与它是一个 LIN 端口并且 JTAG 正在阻断这一事实有关?
非常感谢您的参与、
Julian
PS:我目前正在电路板上运行 FreeRTOS、但我获得的结果与没有的项目相同。 基本上、两个项目都具有相同的行为、但 FreeRTOS 功能是任务的主体、而在另一个项目中则不是。