历史上的今天
今天是:2025年08月14日(星期四)
2018年08月14日 | 关于STM32L152 运行时程序卡在B.处的解决方法
2018-08-14 来源: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.处,一般都是有中断没有处理,仔细检查下相关中断的配置和处理函数,找出错误即可。
史海拾趣
|
读公司的一段代码时发现有下面一段 SCON = 0xd0; PCON |= 0xC0; TMOD &= 0x0F; TMOD |= 0x20; TH1 = 256 - ((FREQ_OSC * 2L * 125L)/ (48L * 9600 ...… 查看全部问答> |
|
MSP430G2553能直接植入该操作系统吗,是不是要扩展内存空间,哪位大侠有经验的讲一下植入430的注意点或者给个好点自学资料!突然想学下这个东西,好像对任务管理很有帮助… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 03:36 编辑 有会做稳流源的吗?拿来一起参考一下$(\'swf_gc3\').innerHTML=AC_FL_RunContent(\'width\', \'22\', \'height\', \'22\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \ ...… 查看全部问答> |




