2012-01-03 39 views
2

我想知道在STM32上的事件处理程序内部通过函数指针调用函数是否安全。事件处理程序用于I2C,并具有最高优先级。被调用的函数可以被认为是快速的(只是一些字节重新排序)。来自事件处理程序的STM32函数指针

感谢您的任何提示或意见。

Arne

+2

是的,我没有看到任何问题。你究竟在担心什么? – avakar 2012-01-03 10:13:46

+0

我只是怀疑.. – Arne 2012-01-03 10:24:54

回答

2

如果函数指针被初始化,应该可以正常工作。唯一的问题是我可以想到通常的中断处理程序 - 如果'字节重新排序'涉及从tx/rx缓冲区删除/添加字节,缓冲区管理必须安全地中断。

1

是的。

话虽如此,有一个潜在的风险。当事件处理程序被激活时,你必须确保函数指针被初始化。

通常情况下,全局变量main被调用之前初始化,但如果事件处理程序之前被激活,你可能会遇到麻烦。

+0

感谢您的提醒,但是I2C事件启动代码后才会激活长。 – Arne 2012-01-03 10:36:51

相关问题