我具有静态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)是否可行。
如果标题错误,请随时进行更正。我不知道我要实施的技术术语。