打印

Z-Stack协议栈

[复制链接]
3832|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
smartdog_1|  楼主 | 2013-6-14 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位好:
    小弟最近新下载了一份Z-Stack协议栈 :
       ZigBee 2007 Release
       Version 2.5.1a
       April 25, 2012
    但是在阅读源码的时候发现hal_timer.c是空的,同时TI留下了一下内容:
       NOTE: Z-Stack and TIMAC no longer use CC2530 Timer 1, Timer 3, and
       Timer 4. The supporting timer driver module is removed and left
       for the users to implement their own application timer
       functions.
   
    最令小弟不解的是,如果四个Timer都没有使用,那么系统Tick怎么实现的 ?
   
    同时小弟也查看了与定时器有关的函数:
        uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value )
    这个函数只是简单的添加定时器链表,并没有对硬件定时器做任何的设置。整个OSAL_Timers.c中
    也是找不到任何与Timer相关的东西。
   
     这令小弟着实不解,系统如果一个Timer都没用怎么实现周期性的产生Timer事件??
     小弟亲自实验了一下osal_start_timerEx函数,发现确实能正常工作。

     哪位前辈对最新的协议栈有了解的请指点一下。

     顺便说明老的协议栈中四组定时器都有使用,请各位不要拿老协议栈中的函数来解释。

相关帖子

沙发
smartdog_1|  楼主 | 2013-6-14 18:00 | 只看该作者
难道没人使过最新的协议栈?

使用特权

评论回复
板凳
smartdog_1|  楼主 | 2013-6-17 14:18 | 只看该作者
不会吧,怎么至今都无人问津?

使用特权

评论回复
地板
smartdog_1|  楼主 | 2013-6-18 10:53 | 只看该作者
继续等等

使用特权

评论回复
5
sofia4041| | 2013-6-18 16:17 | 只看该作者
Z-Stack中的任务调度是采用T2-MAC定时器,在大循环中osal_start_system里循环调度osalTimeUpdate,通过对定时器2的320us进行转换,最后调用osalTimerUpdate,对时间列表中的每一个子项减1,然后调用相应的任务中的事件!

使用特权

评论回复
6
sofia4041| | 2013-6-18 16:20 | 只看该作者
07协议栈比老协议栈中的差别,系统任务调度的定时器就是一个大的差别,这样给用户用的定时器就更多了,用户可以用定时器1和定时器34

使用特权

评论回复
7
smartdog_1|  楼主 | 2013-6-18 16:58 | 只看该作者
sofia4041 发表于 2013-6-18 16:17
Z-Stack中的任务调度是采用T2-MAC定时器,在大循环中osal_start_system里循环调度osalTimeUpdate,通过对定 ...

谢谢您!
您提到T2我才再次仔细看了一下Ti的文档,原来是不在使用T1 、T3、 T4。我看成了:
no longer use CC2530 Timer 1, Timer 2, Timer 3, and
       Timer 4.

真惭愧!

谢谢您!

顺便问一下,T2的初始化在哪个文件中?

使用特权

评论回复
8
罗菜鸟| | 2013-6-19 21:47 | 只看该作者
T2是不断计时,不断溢出的,倒是CC2430最后还在用timer4做系统定时。
而最新的CC2538直接使用sys tick作为定时(CM3中断15那个)

使用特权

评论回复
9
smartdog_1|  楼主 | 2013-6-20 11:40 | 只看该作者
罗菜鸟 发表于 2013-6-19 21:47
T2是不断计时,不断溢出的,倒是CC2430最后还在用timer4做系统定时。
而最新的CC2538直接使用sys tick作为 ...

CC2538有Tick 这个确实是个不错的改进。

但是CC2530任然在使用Timer作为sys tick,只是暂时我没知道Timer 2在哪儿初始化的。虽然应用中没有使用Timer 2 的需要,但是我还是想知道他在哪儿初始化的。

小弟愚笨,找了好久都没找到。

使用特权

评论回复
10
罗菜鸟| | 2013-6-20 17:21 | 只看该作者
macMcuTimer2Isr

mac_mcu.c中

使用特权

评论回复
11
smartdog_1|  楼主 | 2013-6-20 20:16 | 只看该作者
罗菜鸟 发表于 2013-6-20 17:21
macMcuTimer2Isr

mac_mcu.c中

谢谢您,总算是找到了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

229

帖子

1

粉丝