1.底层消息通知上层
典型的中断类型的外围达到触发条件,需要通知上层去主动读取详细情况;
2.不同模块的同步调用
A和B两个模块,A模块在运行过程中需要调用B模块中的一个接口,拿到B模块执行结果A才能继续往下执行,这个时候如果使用消息队列,等B得到执行了,A已经跑完了;回调函数解决不同模块同步调用的解耦问题;
3.异步执行的结果返回
A模块执行过程中发送消息到B模块执行函数,B模块执行完后需要实时地将执行结果返回A模块,在消息队列中塞一个指针即可;
4.中间层驱动的底层驱动依赖注册使用
一些中间层的驱动需要依赖底层驱动完成功能,比如g sensor的器件驱动层依赖于主控的iic接口,主控可能是变化的,那么在器件初始化里注册主控的iic接口函数,主控iic接口适配g sensor的函数指针类型,初始化注册即可;
5.常规的通过函数指针调用函数实体
程序的壳子在执行过程中,需要不断变化函数指针的值,已达到访问不同函数实体的作用;