没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
如何在 Zstack 中使用串口
By:kennan 2011.8.17
以下基于 Zstack2.3.1-1.4.0 协议栈,处理器是 CC2530
TI Zstack 应该是国内 Zigbee 学习者使用和研究最多的协议栈了。串口作为一种最简单的
协议栈和调试者接口,在 Zigbee 的学习和应用过程中具有非常重要的作用。
然而论坛和群里有很多初学者在串口问题上纠结良久也没有在 PC 的串口终端上显示任
何内容,甚至于造成学习者到此就放弃了。网上关于如何串口的工作机制和如何使用串口的
问题上已经有太多帖子了,但是貌似很多人看完之后还是没有学会使用串口,针对这一个问
题,我再写一篇文档,希望能够对需要学习 Zigbee 的同学们有所帮助。
一、介绍
网上和论坛里面很多帖子都把精力集中到分析协议栈的串口工作机制上,比如分析 DMA
工作原理,中断工作原理,然后分析输入和输出 Buffer 的处理等内容,学习者跟着协议栈的
串口底层一直到顶层转圈、转圈、再转圈,蒙圈了。
实际上,从应用角度讲,我们根本就没有必要去深入的追究 Zstack 中串口的工作机制,
也没有必要去搞清楚到底是怎么 DMA 和 Interrupt 的,我们只要调用几个简单函数就可以正
常使用串口了。其实协议栈已经把使用串口的条件准备好了,我们何必再纠结硬件底层实现
呢?应用者应该把协议栈看作一个平台,平台之上的应用才是我们的目标。下面我就讲一下
如何利用协议栈现有平台来实现自己的串口应用。这里我所提及的现有平台即是 Zstack 自带
的 MT 包,其实 Zstack 中的这个 MT 包功能相当强大,通过 TI 提供的 ZTOOL 工具可以用串
口的方式同整个协议栈进行交互,在我们编写 Zigbee 应用程序的过程中,很多不知道该如何
调用的函数都能在 MT 中找到参考!这个不多说了,有兴趣的同学可以去专门研究一下 MT
包。
二、使用方法
在 MT 包中,已经有了串口初始化即串口数据处理函数可用,关键的几个函数出现在
MT_Uart.c 文件中。我们拿出来几个关键函数说明一下(我捡重要语句注释):
第一个函数
void MT_UartInit ()
{ // 这个是 MT 中的一个串口初始化函数,主要作用是初始化串口工作的一些规矩
halUARTCfg_t uartConfig;
/* Initialize APP ID */
App_TaskID = 0; //处理串口数据的任务 ID,可以先不管
/* UART Configuration */
uartConfig.configured = TRUE;
uartConfig.baudRate = MT_UART_DEFAULT_BAUDRATE;
//默认 38400 波特率;可以更改,但是可能有新问题,具体解释内容比较多,我不说;
uartConfig.flowControl = FALSE;//MT_UART_DEFAULT_OVERFLOW;
//禁止硬件流控,如果你的串口只有 RXD,TXD 和 GND 三条线,必须这么做;
uartConfig.flowControlThreshold = MT_UART_DEFAULT_THRESHOLD;
uartConfig.rx.maxBufSize = MT_UART_DEFAULT_MAX_RX_BUFF;
uartConfig.tx.maxBufSize = MT_UART_DEFAULT_MAX_TX_BUFF;
uartConfig.idleTimeout = MT_UART_DEFAULT_IDLE_TIMEOUT;
feixiongwang
- 粉丝: 1
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
前往页