嵌入式C语言-回调函数的使用及实际作用详解

回调函数的基本概念

回调函数的基本概念,这里不做详细的讲解。如果不懂的可以参考另一篇博文回调函数分析

回调函数的作用

讲回调函数之前,先了解函数调用的类型:

输出型

输出型函数就是调用用这个函数之后就能完成对应的功能需求。比如sizeof()获取数据字节大小,memcyp()是内存拷贝函数。

输出型函数占据做主导地位,知道什么时候该调用它。

输入型

输入型函数是把函数当作参数调用。而回调函数就是把函数当作参数来使用。根据回调函数的基本定义,回调函数的核心作用是:

  1. 把数据从一个源文件传递到另一个源文件,而不用全局变量共享数据。
  2. 回调函数的数据传递方式有利于代码的封装。

回调函数程序使用

在实际项目中使用回调函数有如下几个步骤:

  1. 自定义返回值、形参一致的函数指针类型;
typedef void (*pxfunc_callback)(void);
  1. 定义函数指针变量
pxfunc_callback puxhal_usart_rx_callback_func = NULL;
  1. 通过这个函数指针,指向应用层的函数地址(函数名)。
void vhal_app_task(puxhal_usart_rx_callback_func pcall_back)
{
	puxhal_usart_rx_callback_func = pcall_back;
}
  1. 函数指针变量调用
// 函数层调用
puxhal_usart_rx_callback_func();
  1. 函数注册回调函数
// 回调函数
static void prvhal_callback_register(void)
{
}
// 注册回调函数
vhal_app_task(prvhal_callback_register);

回调函数的基本使用步骤。如果不起清楚建议多看几遍。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值