回调函数是一种常见的编程技术,它可以在异步操作完成后调用一个预定义的函数来处理结果。回调函
数通常用于处理事件、执行异步操作或响应用户输入等场景,回调函数的作用是将代码逻辑分离出来,
使得代码更加模块化和可维护。
C语言中的回调函数,跟C#中的委托很类似,实际上是预留了一个函数的地址,当用户关心这个函数所
表示的事件时,可以使用一个实际的函数地址去覆盖这个预留的地址,当事件发生时,用户定义的函数
就被被调用。
回调函数的使用,需要先声明一个函数指针,相当于先把图7-2中虚线的框画好,与C#中声明委托类型
相似,需要去定好返回值、参数列表,函数指针的定义步骤如下:
(1)在C文件中定义函数指针,格式如下:
返回类型 (*函数指针名称)(参数列表)
以定义"数据组装完成事件"为例,在C文件的定义代码如下:
void (*data_assembly_complete)(u8 byte[],u8 len) = NULL;
(2)在对应的头文件中声明该函数,格式如下:
extern 返回类型 (*函数指针名称)(参数列表)
以定义"数据组装完成事件"为例,在h文件的定义代码如下:
extern void (*data_assembly_complete)(u8 byte[],u8 len);
欲使下图Label控件中的文字内容实现滚动显示:</