gpt4 book ai didi

c++ - C++ 应用程序中的 C ISR 处理程序

转载 作者:行者123 更新时间:2023-11-30 16:35:06 24 4
gpt4 key购买 nike

我正在为嵌入式系统的 C HAL 编写 C++ 应用程序。我需要从外围 C 处理程序调用对象方法,但遇到以下问题:

我传递给 HAL 的外围 ISR 处理程序具有固定签名。因此,由于隐式参数 this,我无法传递 C++ 对象的公共(public)方法。在处理程序中,我没有对该对象的任何引用。

一种解决方案可能是使这个对象单例具有对它的全局访问权限,但出于某种原因我可能不想要它。

我能做什么?

最佳答案

普通的 C++ 成员函数永远不可能是 ISR。它必须是一个静态成员函数。事实上,你必须进行某种方式的单例设计。不过,没有必要让任何东西变得“全局化”。

这并非 ISR 所独有,但同样适用于任何回调函数。

关于c++ - C++ 应用程序中的 C ISR 处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49067181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com