关于STM32L152 运行时程序卡在B.处的解决方法
来源:互联网 发布:淘宝高硼硅玻璃有毒吗 编辑:程序博客网 时间:2024/06/11 01:13
背景:
程序运行时,发现程序卡死在B.处。
解决方法:
程序卡死在B.处说明有中断没有处理,导致程序进入中断后无法跳出。
之后查看程序发现,程序中定义了一个中断,但是之前一次偶然把中断处理程序屏蔽了,导致没有中断处理函数。
程序如下:
//开启了EXTI15_10_IRQn中断
void nirq_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.Pin=GPIO_PIN_13;
GPIO_InitStructure.Mode=GPIO_MODE_IT_FALLING ;
GPIO_InitStructure.Pull =GPIO_NOPULL;
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
HAL_GPIO_Init(GPIOC,&GPIO_InitStructure);
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
}
//不小心把中断函数屏蔽了,如下:
//void EXTI15_10_IRQHandler(void)
//{
// HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_13);
//}
把程序取消屏蔽后,程序正常运行了。
总结:程序卡死在B.处,一般都是有中断没有处理,仔细检查下相关中断的配置和处理函数,找出错误即可。
阅读全文
1 0
- 关于STM32L152 运行时程序卡在B.处的解决方法
- 关于程序运行时加载动态库失败的解决方法
- 关于程序运行时加载动态库失败的解决方法
- 在运行程序时发现绑定句柄无效的解决方法
- 关于在开发板上运行程序显示“-bin/sh:/XXX not found”的解决方法
- 关于eclipse运行java程序内存溢出的解决方法
- 关于wireshark在ubuntu上运行错误的解决方法
- VS2012在运行C++Win32程序时出现一闪而过的解决方法
- 关于有些时候程序在进行二次开发时程序不能运行 出现内存BUG的建议
- 关于STM32程序仿真时卡死在default_handler的解决方法
- 关于STM32程序仿真时卡死在default_handler的解决方法
- 关于程序是怎样在STM32里运行的
- 关于applet小程序在浏览器上运行的备注
- 关于在VS中运行带有参数的控制台程序
- 关于在eclipse上能运行Map但无法运行Reduce的解决方法
- 关于程序运行时的数据结构
- STM32L152的IAP移植笔记
- STM32L152的低功耗测试
- 游标的作用
- ValueError: Negative dimension size caused by subtracting 2 from 1 for 'MaxPool_1' (op: 'MaxPool') w
- 12、Android开发基础之数据存储
- windows小知识
- python列表生成式
- 关于STM32L152 运行时程序卡在B.处的解决方法
- Python 安装和使用
- 【论文阅读笔记】A Multi-Task Learning Formulation for Predicting Disease Progression
- java导出Excel表格
- android ndk与sdk
- FreeMarker整合到Spring中
- python aiohttp简易使用教程
- 13、Android开发基础之数据存储-查看保存的数据
- Angular 路由