【发布时间】:2021-12-29 17:33:41
【问题描述】:
我尝试使用 C 调用 IRQ 中的函数,我得到了下一个代码。
static void (*functionPulsacion)();
void eint2_init(void *funcPulsacion){
functionPulsacion = funcPulsacion;
}
但是当我在 Keil 中编译时,IDE 会显示下一条消息:
Button2.c(38):警告:#513-D:“void *”类型的值不能分配给“void (*)()”类型的实体
这样做的好方法是什么?
提前谢谢你
【问题讨论】:
-
eint2_init的参数应该是正确的函数指针类型,而不仅仅是void* -
分配不正确。这是一个有点迂腐的警告。但是在这种情况下,我会说将函数定义更改为
void eint2_init(void (*funcPulsacion)(void)){是明智的