通过在C中传递其引用来调用静态函数

时间:2019-07-13 17:19:49

标签: c function pointers reference isr

我具有静态ISR之类的功能,因此对源文件而言是私有的。在此源文件中,ISR数组中“已注册”。执行ISR后,将调用内部存储在此数组中的函数指针。

示例文件mylib.c:

static void mylib_ISR()
{
    ...
}

void mylib_init()
{
    interrupt_register(mylib_ISR());
}

和在中断中。c

typedef void (*function_pt)(void);
void interrupt_register(function_pt f)
{
  ...
   fpt_array[i].isr_pt = f;
  ...    
}

在isr.c中

ISR(my_peripheral)
{
    ...
}

原因是,在必须保留这种体系结构的同时,我希望将ISR私有化。但是我不确定是否好。而且由于我现在没有编译的可能性,所以我也不知道编译器本身(gcc)是否可行。

如果标题错误,请随时进行更正。我不知道我要实施的技术术语。

0 个答案:

没有答案