输入型呢,也称为的是响应式的函数。
什么叫响应式的函数呢?
比方说接收串口的数据,我们不知道什么数据什么时候来。
再比方说,我们按键检测的函数,我们不知道什么时候会按下按键,那么这些就要定义成响应式函数来实现,而响应式函数就可以用回调函数来实现。
所以通过这两个种类型的分析啊,我们就可以知道,回调函数基本是用在输入型的处理中。
比方说串口数据接收,那么数据是输入到单片机里面的,单片机是处于从机角色。
按键检测,按键状态是输入到单片机里的。
再比方说ADC值采集,ADC值也是输入到单片机里的。
那么它们输入的时间节点都是未知的,这些就能够用回调函数来处理。
具体怎么处理后面我们会用代码来给大家举例。
回调函数还有一个作用就是为了封装代码。
比如说做芯片或者模组的厂家,我们拿典型的STM32来举例,像外部中断、定时器、串口等中断函数都是属于回调函数,这种函数的目的是把采集到的数据传递给用户,或者说应用层。
所以回调函数的核心作用是:
1.把数据从一个.c文件传递到另一个.c文件,而不用全局变量共享数据这么LOW的方法。
2.对于这种数据传递方式,回调函数更利于代码的封装。
四、掌握回调函数的程序编写
前面说了很多概念性的东西,可能大家也比较难理解,回调函数最终呢是靠函数指针来实现的。
那么我这里通过一些模拟按键的例子来演示下怎么回通过调函数来处理它