5964|3

33

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

zstack-CC253002.3.0如何同时使用两个串口?我试过了,不行! [复制链接]

我在编译选项中,定义ZTOOL_P1和ZAPP_P2。默认串口0使用DMA方式,串口1使用中断方式。但发现有两个函数根本就没有实现,查遍了整个工程文件也没有找到。这两个函数分别是_hal_uart.c中的HalUARTInitISR(void)函数和HalUARTPoll(void)。我个人认为这个协议栈默认根本就没有实现这两个函数。也就是说串口不能使用中断法,只能用DMA法。如果要同时使用两个串口的话必须解决两个问题:1)自己实现上面两个函数;2)为第二个串口再分配一对接收缓冲区。
而且还有两个问题:1)MT_UART_DEFAULT_PORT永远只有一个,如果要同时使用两个串口。这里要作出相应的更改;2)能不能同时都使用ZTOOL方式,即同时定义ZTOOL_P1和ZTOOL_P2。如果不行的话,那么只能分别使用不同的回调函数。一个使用MT_UartProcessZToolData ( uint8 port, uint8 event ),而另一个使用MT_UartProcessZAppData ( uint8 port, uint8 event )函数。2)这里对有人提过了关于串口使用问题提出点自己不同的意见,如果只有一个端口需要接收串口数据。那么MT_UartInit(); MT_UartRegisterTaskID(task_id);能够在某个任务初始化函数被调用。如果有多个任务要接收串口消息,那么不能这样做。除非用其中一个任务做中介,转发串口数据。初学ZIGBEE的一点想法,请大侠们提出宝贵意见。现在同时使用两个串口的问题并没有解决,期待高手出现!
此帖出自无线连接论坛

最新回复

楼主问题解决了吗?求分享具体实现啊!!!  详情 回复 发表于 2016-4-27 11:53
点赞 关注
 

回复
举报

206

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

2007协议栈使用uart1修改步骤(SampleApp为例)

 

[ 本帖最后由 ljt8015 于 2012-4-17 09:41 编辑 ]

2007协议栈使用uart1修改步骤(SampleApp为例).doc

30 KB, 下载次数: 162

此帖出自无线连接论坛
 
 

回复

33

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

这是使用中断方式需要修改的吗?如果两个串口一起用应该怎么改?

此帖出自无线连接论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

4
 
楼主问题解决了吗?求分享具体实现啊!!!
此帖出自无线连接论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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