回调函数的基本概念,这里不做详细的讲解。如果不懂的可以参考另一篇博文回调函数分析
讲回调函数之前,先了解函数调用的类型:
输出型函数就是调用用这个函数之后就能完成对应的功能需求。比如sizeof()获取数据字节大小,memcyp()是内存拷贝函数。
输出型函数占据做主导地位,知道什么时候该调用它。
输入型函数是把函数当作参数调用。而回调函数就是把函数当作参数来使用。根据回调函数的基本定义,回调函数的核心作用是:
在实际项目中使用回调函数有如下几个步骤:
typedef void (*pxfunc_callback)(void);
pxfunc_callback puxhal_usart_rx_callback_func = NULL;
void vhal_app_task(puxhal_usart_rx_callback_func pcall_back)
{
puxhal_usart_rx_callback_func = pcall_back;
}
// 函数层调用
puxhal_usart_rx_callback_func();
// 回调函数
static void prvhal_callback_register(void)
{
}
// 注册回调函数
vhal_app_task(prvhal_callback_register);
回调函数的基本使用步骤。如果不起清楚建议多看几遍。