[求助] TI zstack的sampleApp工程中如何同时使用两个串口?

15651621702   2015-10-15 17:03 楼主
问题描述:小弟再做一个DIY,希望使用zigbee模块的透明传输作为通信媒介,接收端需要同时使用两个串口UART0和UART1分别控制两个不同的对象,但发现网上资料很有限主要见于这两个帖子https://bbs.eeworld.com.cn/thread-298625-1-1.htmlhttp://blog.csdn.net/shiwaxinbin/article/details/9004256方法一样也很简单:都是使UART0使用DMA方式UART1使用ISR模式。但是我在复现两个帖子所述方法时,UART0能够正常使用、UART1依然没有反应。搞了两三天有点迷茫,希望做过同时使用两个串口通信的哥们能够帮小弟解答一下疑惑,谢谢! PS:协议栈版本2.5.1a 本帖最后由 15651621702 于 2015-10-15 17:07 编辑

回复评论 (2)

串口你预编译了吗
  • QQ截图20151016114546.png
点赞  2015-10-16 12:20
引用: xiangtian134 发表于 2015-10-16 12:20 串口你预编译了吗
谢谢你的解答,问题找到了。是我对忽略了引脚映射,以为P0.4和P0.5是UART1的发射和接收端口~~~其实不然,由于定义HAL_UART_ISR =2了,那么发送和接收引脚变为了P1.6和P1.7 #if (HAL_UART_ISR == 1) #define HAL_UART_PERCFG_BIT 0x01 // USART0 on P0, Alt-1; so clear this bit. #define HAL_UART_Px_RX_TX 0x0C // Peripheral I/O Select for Rx/Tx. #define HAL_UART_Px_RTS 0x20 // Peripheral I/O Select for RTS. #define HAL_UART_Px_CTS 0x10 // Peripheral I/O Select for CTS. #else #define HAL_UART_PERCFG_BIT 0x02 // USART1 on P1, Alt-2; so set this bit. #define HAL_UART_Px_RTS 0x20 // Peripheral I/O Select for RTS. #define HAL_UART_Px_CTS 0x10 // Peripheral I/O Select for CTS. #define HAL_UART_Px_RX_TX 0xC0 // Peripheral I/O Select for Rx/Tx. #endif 本帖最后由 15651621702 于 2015-10-16 13:55 编辑
点赞  2015-10-16 13:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复