c++ - 如何使用类函数来处理中断?
问题描述
我一直在尝试将我的代码从 Arduino 切换到 ST HAL 库。在 Arduino 中,我使用 attachInterrupt 函数来处理按钮按下。我已经通过使用 cubeMX 设置中断来替换它,这会产生以下函数:
void EXTI15_10_IRQHandler(void)
{
/* USER CODE BEGIN EXTI15_10_IRQn 0 */
if(__HAL_GPIO_EXTI_GET_FLAG(BATTERY_BUTTON_Pin)){
batteryButton.checkChange();
}else if(__HAL_GPIO_EXTI_GET_FLAG(CENTER_BUTTON_Pin)){
centerButton.checkChange();
}else if(__HAL_GPIO_EXTI_GET_FLAG(MINUS_BUTTON_Pin)){
minusButton.checkChange();
}else if(__HAL_GPIO_EXTI_GET_FLAG(PLUS_BUTTON_Pin)){
plusButton.checkChange();
}
如您所见,我试图在按下时为不同的按钮调用类函数。我在我的主文件中创建这些函数(我转换为.cpp 文件),但是这个文件(stm32f1xx_it)是 ac 文件,并且当文件是 cpp 时,有 if 语句来实现 c 中的所有内容。我试图在此处包含按钮文件,但这会产生错误,因为您不能在 c 中使用类。有没有办法我仍然可以将此功能用作触发器?
解决方案
推荐阅读
- css - 字体出现锯齿状,抗锯齿更接近淡紫色而不是灰色
- oauth - 通过 Azure API 管理公开受 OAUTH 保护的 API 并执行委派
- git - 如何在不影响之前完成的拉取请求的情况下将分叉的 repo 重置为其原始状态?
- c# - 当重复选择文件或Excel格式的文件时,会抛出此异常
- html - 将文本对齐到全宽和相等的自动间距
- ionic3 - 无法在 android 应用程序上调用 api,但它可以在浏览器上运行
- java - Retrieving data from httpURLConnection with a listener
- visual-studio-extensions - 是否可以使用 SDK 风格的项目编写 VS 扩展?
- react-native - React-Native 在 TextInput 中一起调整表情符号和文本大小
- java - 合并两个具有不同页脚的文档 docx4j