回调函数的注册机制为什么会在嵌入式固件开发中应用如此广泛?

Posted Engineer-Bruce_Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回调函数的注册机制为什么会在嵌入式固件开发中应用如此广泛?相关的知识,希望对你有一定的参考价值。

击上方“嵌入式应用研究院”,选择“置顶/星标公众号

干货福利,第一时间送达!

    在我们平时开发STM32或者其它单片机时,我们经常都会用到原厂提供的固件库函数,固件库函数中有非常多回调函数。那么什么是回调函数呢?回调函数是作为参数传递给另一个函数的函数。接受回调作为参数的函数预计会在某个时间点执行它。回调机制允许下层软件层调用上层软件层定义的函数。

    上图表示用户应用程序代码和硬件驱动程序之间的交互。硬件驱动程序是一个独立的可重用驱动程序,它不了解上面的层(在本例中为用户应用程序)。硬件驱动程序提供 API 函数,允许用户应用程序将函数注册为回调。然后,此回调函数由硬件驱动程序作为执行的一部分进行调用。如果不使用回调,就会被编码为直接调用。这将使硬件驱动程序特定于特定的高级软件级别,并降低其可重用性。回调机制的另一个好处是,在程序执行期间可以动态更改被调用的回调函数。

1、C语言中的回调

    不同的编程语言有不同的实现回调的方式。在本文中,我们将重点介绍C编程语言,因为它是用于嵌入式软件开发的最流行的语言。C语言中的回调是使用函数指针实现的。函数指针就像普通指针一样,但它不是指向变量的地址,而是指向函数的地

以上是关于回调函数的注册机制为什么会在嵌入式固件开发中应用如此广泛?的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式软件中回调函数同步与异步调用

简单介绍一下嵌入式软件开发中的注册机制!

浅析MicroPython系统底层回调机制

这是我看过最全面讲解嵌入式C语言回调函数和函数指针的教程

这是我看过最全面讲解嵌入式C语言回调函数和函数指针的教程

C++的注册和回调