回调函数
回调函数
定义
回调函数是对可执行代码的引用,它作为参数传递给其他代码,允许较低级别的软件层调用在较高级别层中定义的函数。
回调允许驱动程序或库嵌入式开发人员在较低层指定行为,但将实现定义留给应用程序层。
三部分组成
1. 回调函数
定义一个回调函数:
1 | typedef void (*callback)(void); |
2. 回调注册
提供函数调用的另一方在初始化时,需要将回调函数的指针传给调用者:
1 | void register_callback(callback Fun); |
3. 回调执行
当特定事件发生时,调用者使用回调函数进行事件处理:
1 | if (event == True) { |
回调函数的作用
- 恰当时机发送通知:事件触发的异步操作
- 程序设计更加灵活
- 提高效率
- 同步/异步:支持同步和异步两种模式
典型使用
1 | typedef void (*ServiceHandler)(uint8_t N_TAType, uint16_t length, uint8_t* MessageData); |
编写模式
1 | // 1. 定义回调类型 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 lbq开发日志!