TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

该讨论已被锁定。
您不能再向该讨论中发布新回复。如果您有问题可以开始新讨论

EK-TM4C123GXL: 急!!!UART冲突,UART1、3、4、5的传感器正常运行,但是当UART2串口引脚接上相应的传感器后,其他传感器就无法正常工作了。断开UART2后立马恢复正常。

Part Number: EK-TM4C123GXL

如题,谢谢您~

  • 这个的话,建议您在线调试一下

    1 先单独使用UART2,看是否可以正常工作

    2 查看是否有引脚冲突或者中断抢占等问题

    • 您好,单独调试UART2是正常工作的。我们用的是不同的UART串口,这种情况下会出现中断抢占的情况吗?

      我已经通过delay()函数间隔开各个串口的通信,成功运行了代码。但是还是不理解为何会出现串口冲突的情况。

      • 我们用的是不同的UART串口,这种情况下会出现中断抢占的情况吗?

        每个硬件uart相互独立,可以同时接收数据。但是只有一个内核,因此 mcu 必须按顺序读取数据

        单独调试UART2是正常工作的

        请问您使用的是launchpad?能否贴出该launchpad的照片(包括版本号)?

        您使用的UART引脚是哪个?

        • 是的,EK-TM4C123GXL launchpad。

          不知您说的版本号在哪里标示。UART2引脚是RX(2)-PD_6,TX(2)-PD_7,

          UART1引脚是RX(1)-PB_0,TX(1)-PB_1,

          UART3引脚是RX(3)-PC_6,TX(3)-PC_7,

          UART5引脚是RX(5)-PE_4,TX(5)-PE_5。

          (UART4未使用,标题写错)

          • 谢谢您的反馈。看原理图上该RX(2)-PD_6,TX(2)-PD_7没有做特殊应用,理论上是使用没问题的。

            建议您在单独的UART2上再依次加入UART1、3、5看在哪一步出现问题

            • 您好,使用UART1和UART2时没有问题,再加上使用UART3就会出现问题。但是如果在不同串口收发数据时添加足够长的延时,就可以继续使用。

              以我的理解不同串口之间是不冲突的,之前也有过同时进行的经验,现在就是不理解为什么会出现问题。

              • 以我的理解不同串口之间是不冲突的,

                是的,他们是不冲突的

                再加上使用UART3就会出现问题。

                应该是MCU没有来得及处理各个串口的中断或数据等

                • 应该是MCU没有来得及处理各个串口的中断或数据等

                  您的意思是,确实需要添加足够的延时让MCU去处理串口数据吗?delay()函数会不会也占用MCU的资源

                  • 是的,如果数据过多或者串口中断服务函数内需要执行的操作很多的话,是需要加足够延时的

                    • 收到,谢谢您。