Z-stack回调函数及回调机制
来源:互联网 发布:java redis分布式教程 编辑:程序博客网 时间:2024/05/17 03:14
函数本是为调用者准备的美餐,其烹制者应对食客了如指掌,但实情并非如此。例如,写一个快速排序函数供他人调用,其中必包含比较大小。麻烦来了:此时并不知要比较的是何类数据--整数、浮点数、字符串?于是只好为每类数据制作一个不同的排序函数。更通行的办法是在函数参数中列一个回调函数地址,并通知调用者:君需自己准备一个比较函数,其中包含两个指针类参数,函数要比较此二指针所指数据之大小,并由函数返回值说明比较结果。排序函数借此调用者提供的函数来比较大小,借指针传递参数,可以全然不管所比较的数据类型。被调用者回头调用调用者的函数(够咬嘴的),故称其为回调(callback)。即让某个系统函数调用的函数。因此可以得出结论:
1、回调函数是由开发者按照一定的原型进行定义的函数
2、回调函数并不由开发者直接调用执行
3、回调函数通常作为参数传递给系统API,由该API来调用。
4、回调函数可能被系统API调用一次,也可能被循环调用多次。
在Z-stack里回调函数也非常常见。如在SerialApp中的串口回调,在HalUARTPoll( void )里有cfg->rxCB( ((cfg->flag & UART_CFG_U1F)!=0), evt )调用rxCB.
typedef void (*halUARTCBack_t) (uint8 port, uint8 event);
在SerialApp.c中自定义了一个函数void rxCB( uint8 port, uint8 event )
又如在SampleApp例程中,KEY的回调函数的实现过程如下:
- Z-stack回调函数及回调机制
- Z-stack中回调函数及回调机制的分析
- Z-stack中回调函数及回调机制的分析
- Z-stack中回调函数及回调机制的分析
- Z-stack中回调函数及回调机制的分析
- z-stack 回调函数
- 回调函数机制
- 回调函数 与 回调机制
- 回调机制与回调函数
- 回调函数 与 回调机制
- 回调函数&&回调机制
- Android回调函数机制
- C++ 回调函数 机制
- java回调函数机制
- java回调函数机制
- Java回调函数机制
- Java回调函数机制
- java回调函数机制
- CAD心得(2)_图形界限……
- 一本好书--Ajax实战(Ajax in action中文版)--连载地址
- 使用Java实现MP3音乐播放器
- 数字证书
- deadlock时的getdate()
- Z-stack回调函数及回调机制
- 三个很常用的存储过程
- 配置Discuz!NT 3.0.0 SQL Server版
- 在HTML中使用CSS美化网页的三种方法
- 关于java与SSL证书的一些资料
- 存储过程中的top+变量
- MySQL数据库环境使用全过程
- SQL中Table型数据与用户自定义函数
- symbian 描述符(上)