Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 来自事件处理程序的STM32函数指针_C++_C_Arm_Stm32 - Fatal编程技术网

C++ 来自事件处理程序的STM32函数指针

C++ 来自事件处理程序的STM32函数指针,c++,c,arm,stm32,C++,C,Arm,Stm32,我想知道在STM32上的事件处理程序中通过函数指针调用函数是否安全。事件处理程序用于I2C,具有最高优先级。可以假定要调用的函数是快速的(只是一些字节重新排序) 谢谢你的任何提示或评论 阿恩是的 话虽如此,有一个潜在的风险。必须确保在激活事件处理程序时初始化函数指针 通常,全局变量在调用main之前初始化,但是如果事件处理程序在调用main之前处于活动状态,则可能会遇到问题。如果函数指针已初始化,则应该可以正常工作。我能想到的唯一问题是中断处理程序的常见问题——如果“字节重新排序”涉及从tx/r

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

谢谢你的任何提示或评论

阿恩

是的

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


通常,全局变量在调用main之前初始化,但是如果事件处理程序在调用main之前处于活动状态,则可能会遇到问题。

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

是的,我看不出有什么问题。你到底在担心什么?谢谢你的提醒,不过I2C事件只有在启动代码之后很久才会被激活。