7877|6

986

帖子

0

TA的资源

五彩晶圆(初级)

楼主
 

zstack同时使用两个串行口的方法 [复制链接]

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参数区别开。

此帖出自RF/无线论坛

最新回复

您好,我按照您这个方法试了。两个串口(UART0 P02P03, UART1P16P17),不能同时使用。我的硬件没有问题。单独在裸板上测试接口是均可以使用的。不知道您具体是如何配置的?  详情 回复 发表于 2016-6-1 15:25

赞赏

1

查看全部赞赏

点赞 关注
个人签名电子工程师技术交流QQ群:12425841,专注于自动控制、数字电源等
 

回复
举报

4

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
楼主能具体介绍一下使用两个串口时的回调函数如何区分事件的吗?
此帖出自RF/无线论坛
 
 

回复

986

帖子

0

TA的资源

五彩晶圆(初级)

板凳
 

回复 沙发 boris163 的帖子

回调函数有两个输入参数,一个是串行端口号,另一个是事件,利用这两个参数可以很好的区分各种情况。
此帖出自RF/无线论坛
个人签名电子工程师技术交流QQ群:12425841,专注于自动控制、数字电源等
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(中级)

4
 
楼主能详细介绍一下流程不 我按照你弄的并不行啊 老是有冲突。。。有相关的文档链接不
此帖出自RF/无线论坛
 
 
 

回复

33

帖子

0

TA的资源

一粒金砂(中级)

5
 
那缓冲区是不是也得再另分配一对呢?
此帖出自RF/无线论坛
 
 
 

回复

481

帖子

0

TA的资源

纯净的硅(中级)

6
 

回复 楼主 kata 的帖子

嘿嘿,楼主这文章给力,我正在修改一个串口的,这个HAL_LCD=FALSE管用。
此帖出自RF/无线论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

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

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
快速回复 返回顶部 返回列表