历史上的今天
今天是:2025年02月12日(星期三)
2019年02月12日 | 关于STM32运行时程序卡在B.处的解决方法
2019-02-12 来源:eefocus
背景:
程序运行时,发现程序卡死在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.处,一般都是有中断没有处理,仔细检查下相关中断的配置和处理函数,找出错误即可。
上一篇:STM32-DAC简单使用方法
史海拾趣
|
Ü 外挂2M~32M的Flash,时间从32—1054秒。掩膜为内置ROM,最长支持400秒(@6K采样)。采样率支持6K~22K Ü DAC输出:13Bit,PWM输出:12Bit Ü 内置0.5W功放,可直接推动0.5W/8Ω扬声器 Ü 支持加载MP3/WAV/WMA三种音频 ...… 查看全部问答> |
|
每次重启电源后开机,cpu、显卡风扇转一下就停了,主板无法上电,主板上的LED灯不亮,再按开机键就没有任何反应了,只能再次重启电源才能复现上述情况。 请问这是怎么回事啊?电源供电不足?还是主板烧了(为什么每次重启电源后风扇都能转一下呢) ...… 查看全部问答> |
|
功能一、 检测充电器的插拔 【我的想法:】可以用中断来做,这个好做 功能二、检测电池的电量: 只能用AD,将电压转成数字信号了, 就不知道怎么实 ...… 查看全部问答> |
|
我在制作启动盘时如果选择bootrom_uncmp image则使用mkboot a: bootrom_uncmp指令时,弹出如下的对话框 D:\\Tornado2.2\\target\\config\\PCPENT~4>mkboot a: bootrom_uncmp VxSys 1.6 (c) Wind River 1993-2002 Boot sector installed OK. obj ...… 查看全部问答> |
|
我用的是2410+wince4.2,flash用的是K9F1208UOM.在wince系统运行时,我能够看到ResidentFlash文件夹,而且好像用属性查看剩于空间也就是出去os镜像的大小.但是好像因为没有指定flash剩于空间的起始位置的原因吧,只要拷东西进这个文件夹,下次wince就别 ...… 查看全部问答> |
|
这款地铁应急灯是为应付地铁突发状况准备的。当地铁突然停运,电源切断的时候,乘客们可以将把手取下,充当应急电筒使用。通过挤按把手上的按钮,就能够轻松将把手与带子分离。当然,只有在地铁熄灯之后才能启动这一按钮。 &n ...… 查看全部问答> |
|
在VHDL中,类属参数可以在不同层次的模块间传递。可以在顶层修改这些参数,下面各层随之改变。 verilog中怎么实现这一功能? 谢谢!… 查看全部问答> |
|
自《电源开关设计秘笈30例》推出以来,得到广大工程师的热烈反响, 已推出的由德仪资深工程师William P. (Bill) Klein 主笔的《信号链基础知识合辑》反响也非常好, 应大家的强烈要求,现隆重推出《信号链基础知识合辑2》   ...… 查看全部问答> |




