微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > zstack同时使用两个串行口的方法

zstack同时使用两个串行口的方法

时间:10-02 整理:3721RD 点击:

zstack较新的版本支持同时使用两个串行口,不过要求一个是DMA方式另一个是ISR方式,具体操作方法如下:

1)在IAR的编译选项中定义宏,HAL_DMA=TRUE,HAL_UART=TRUE,HAL_UART_DMA=1,HAL_UART_ISR=2。

2)在程序初始化时,HalUARTOpen()打开串行口。

3)正常串行口读写。

有两个需要注意的地方:部分LCD占用了USART控制,这种情况下,需要HAL_LCD=FALSE,否则串行口无法工作;如果使用回调函数,两个串口只能使用同一个回调函数,具体操作通过port参数区别开。

楼主能具体介绍一下使用两个串口时的回调函数如何区分事件的吗?

回调函数有两个输入参数,一个是串行端口号,另一个是事件,利用这两个参数可以很好的区分各种情况。

楼主能详细介绍一下流程不 我按照你弄的并不行啊 老是有冲突。。。有相关的文档链接不

那缓冲区是不是也得再另分配一对呢?

嘿嘿,楼主这文章给力,我正在修改一个串口的,这个HAL_LCD=FALSE管用。

您好,我按照您这个方法试了。两个串口(UART0 P02P03, UART1P16P17),不能同时使用。我的硬件没有问题。单独在裸板上测试接口是均可以使用的。不知道您具体是如何配置的?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top