关于回调函数重复定义的解决方法

2019-07-20 04:00发布

当一个工程中的不同文件某函数,比如:HAL_TIM_PWM_Init(),需要公用回调函数,比如:HAL_TIM_PWM_MspInit(),如果每个.c文件都定义这个函数的话,编译回出错(重复定义)。解决方法如下:

在其中一个文件的.h文件里面声明回调函数,同时在该文件.c里面定义回调函数,且回调函数中使用句柄判断来设置不同的执行功能。
其他文件需要调用该回调的时,先在.c文件的开头#include .h(声明回调函数的h文件),然后,在需要引用的地方直接调用即可。

注意:1.操作过程中可能会使用【全局变量】和【函数共享】知识点,根据编译出错修改即可;
          2.回调函数和普通函数差不多,重复定义时候,按普通函数共用思路思考即可。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。