主题中讨论的其他器件:TMDSHSECDOCK、 LP-CC2652RB、 SysConfig
主题:AM2634C 和 CC2652的 UART 连接问题
尊敬的德州仪器支持:
我目前正在从事一个项目、涉及在 AM2634C 和 CC2652之间以及在 AM2634C 和在通过 USB 连接到电路板的 PC 上运行的 Putty 软件之间建立 UART 连接。
我使用的 AM2634C 器件连接到 TMDSHSECDOCK 集线站、还使用包含 CC2652芯片的 LP-CC2652RB 模块。
对于 AM2634C、我使用了"mcu_plus_sdk_am263x_08_06_00_34" SDK、对于 CC2652、我使用"simplelink_wbms_sdk_2_00_02_23_eng" SDK。
尝试在 AM2634C 和 CC2652之间建立 UART 连接时遇到一些问题。 具体来说、我已经设法在 UART echo 工程的 SysConfig 中声明了一个新的 UART 接口(效果非常好)、并选择了可用的 GPIO 引脚进行映射。 例如、Sitara 处理器的端口 L3和 M3映射至底座的引脚161和162。
我从"mcu_plus_sdk_am263x_08_06_00_34" SDK 修改了 UART echo 工程、方法是将 UART_console 的所有实例替换为新的 UART 接口。 然后、我将 TMDSHSECDOCK 的引脚161和162与 TM4C129的 Rx 和 Tx 引脚连接在一起、首先需要测试通过 TM4C129发送字符并将它们取回。
但是、我目前遇到的结果不一致。 大多数情况下、我只能通过 TM4C 接收来自 AM 的字符、但不能相反。 在极少数情况下、设置会起作用、但如果我再次刷写相同的代码、则会失败。
在我的请求结束时、我将最简单地演示我的问题的协议放在了末尾。
我已经用示波器进行了测试、并且 TM4C129是通过 UART 正确发送字符的(我还使用 secound TM4C129进行了测试、它们一起很好地交换信息)。
我不确定导致这种不一致的原因是什么、非常感谢您为帮助我解决此问题而提供的任何指导或支持。
感谢您投入宝贵的时间给予大力支持。
此致、
泰奥·盖兰
UART 测试过程
I- UART0测试
创建新的工作区。
从 mcu_plus_sdk_am263x_08_06_00_34中导入 uart_echo_am263x-cc_r5fss0-0_freertos_ti-arm-clang 工程。
刷写器件(取消选择 M4处理器)。
选择 S26A0200调试器。
测试 UART 0。
在终端中打开串行端口并键入字符(8)、这些字符通过 UART 0发送到 Sitara。 然后、它们将返回给我们并显示在串行端口终端中。
验证了 UART 0测试。
现在、我们将 uart_echo.c 中的 APP_UART_RECEIVE_BUFSIZE 的缓冲区大小更改为(1U)。
我们在块"{/*读取8个字符*/和/*回声字符输入*/}"周围添加一个无限循环。
重新闪存设备。
现在它将字符一个接一个地发回给我们。
II-测试 UART 1.
1) Sitara Tx
打开 SysConfig。
添加 UART 接口。
将其重命名为 CONFIG_UART1并在 L3上设置 Rx、在 M3上设置 Tx。
现在、我们复制所有 UART_WRITE 行、将 CONFIG_UART_CONSOLETE 替换为 CONFIG_UART1。
transferOK = UART_WRITE (gUartHandle[CONFIG_UART1]、&Trans);
再次刷写器件。
接下来、我们交叉连接 TM4C129和 Sitara 的 Rx 和 Tx 引脚(引脚161和162)。
在终端中打开 TM4C129的串行端口并将字符发送到 Sitara 的串行端口。 然后、这些数据返回到 TM4C129的串行端口。
验证了 UART1 Tx 测试。
2) Sitara Rx。
在此之后、我们通过放置 CONFIG_UART1来更改 UART_READ 行。 因此、我们希望能够在 TM4C129的串行端口控制台中发送字符、这些字符将通过 UART 1中的 Sitara 进行读取。
当我们进行测试时、它不起作用。
未验证 UART1 Rx 测试。