我正在尝试执行一个简单的项目、在该项目中、我通过 UART 连接(Rx 至 Tx 和 Tx 至 Rx)将微控制器连接到另一个器件。 我想通过 UART 将数据从 USB 发送到微控制器、通过 USB 发送到另一个器件、然后再发送到计算机。
我不确定如何使用 UART 引脚发送数据/如何通过它们发送数据。 我似乎需要使用串行通信接口来实现此目的、但我不确定具体如何-是否需要在 HALCoGen 中执行一些操作来指示我要使用引脚与另一个器件进行通信?
到目前为止、我所做的是按照以下说明操作: training.ti.com/hercules-how-tutorial-using-sci-uart-communication
教程中的项目是使用 sciSend 和 sciReceive 通过 SCI 在计算机的终端(COM 端口)与微控制器之间进行通信。 但是、这似乎根本不使用 UART 引脚、因为它在 RX 到 Tx 之间没有跳线的情况下工作。
以下是引脚映射(如果有用): http://www.ti.com/lit/ml/spnu611/spnu611.pdf
我在 HALCoGen 中遵循了这些指令:'
在此视图中、我们将看到微控制器的方框图。 我们可以使用此方框图或屏幕顶部附近的选项卡浏览 HALCoGen。 下一步是转到"Driver Enable"选项卡并仅启用 SCI2驱动程序。 为此、我们选择未标记的"Mark All Drivers"、然后选择"Enable SCI2 Driver"。
下一步是转到 SCI2选项卡、并在 SCI 全局子选项卡中启用接收器中断。 在这个配置中、SCI 将在每次模块接收到数据时生成一个 CPU 中断。 接下来、我们单击"SCI 数据格式"选项卡、确保模块设置为9600波特率、8个数据位长度和2个停止位、并且无奇偶校验。
在 HALCoGen 中进行的最终配置是转到 VIMM 或矢量中断管理器模块、并启用通道13。 这将启用 VIM 模块中的 SCI 中断。 接下来、我们需要生成代码。 为此、我们转到"File"和"Generate Code"。 HALCoGen 现在可生成完成此练习所需的所有启动和外设驱动程序。
TLDR:
-启用驱动程序选项卡->仅启用 SCI2/LIN
- SCI2选项卡-> SCI 全局子选项卡->启用 Rx 中断
-启用 VIM 通道13 (LIN 高电平)
我应该如何修改它以使用 UART 与另一个器件进行通信? 我应该启用 SCI 驱动程序吗? 我应该从那里做什么? (或者我是否应该做其他事情)
我是否缺少对 SCI 和 UART 工作原理的基本理解?
如果您有任何建议、我会非常感谢您的建议-谢谢!