stm32 - stm32 keil无法在中断中分配数组
问题描述
我无法在中断中分配我的数组。
我的 main.c 函数是这样的:
volatile uint32_t buffer[BUFFER_LENGTH];
int main(void)
{
while(1)
{
sprintf((char*)string,"%u",buffer[0]);
BSP_LCD_DisplayStringAt(250, LINE(9), (uint8_t *)string, LEFT_MODE);
}
}
中断程序是这样的:
void EXTI3_IRQHandler(void)
{
buffer[0] = 100;
}
显示屏始终显示 0!
奇怪的是,当我使用变量而不是数组时,一切正常!
uint32_t variable;
int main(void)
{
while(1)
{
sprintf((char*)string,"%u",variable);
BSP_LCD_DisplayStringAt(250, LINE(9), (uint8_t *)string, LEFT_MODE);
}
}
void EXTI3_IRQHandler(void)
{
variable = 100;
}
显示屏显示 100!为什么我不能在中断例程中使用数组?
解决方案
推荐阅读
- javascript - 删除多维数组树的属性 - 使用 lodash 或下划线或 js
- windows - 分析 Windows 进程长期 CPU 使用率的最佳方法
- python - 将列表推导转换为 for 循环
- html - 去除蓝色高亮
- android - 如何有效地为 ArrayAdapter 存储数据?
- android - How to make Emulator respond in an android studio for the first time start up
- sql-server - execute Oracle stored procedure from SQL Server 2012
- java - InetAddress.getLocalHost() 如何工作?
- python - 在 Python 中从 Twitter API 获取历史推文元数据
- html - 在 ng-bootstrap 模态中的 div 上安装 ng-bootstrap 轮播