历史上的今天
返回首页

历史上的今天

今天是: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.处,一般都是有中断没有处理,仔细检查下相关中断的配置和处理函数,找出错误即可。


推荐阅读

史海拾趣

ELINA INDEK公司的发展小趣事

随着技术的成熟和市场的扩大,因美纳开始积极拓展全球市场。公司通过与全球各地的经销商建立合作关系,将产品销往世界各地。同时,因美纳还在多个国家和地区设立了研发中心和生产基地,以便更好地满足当地市场的需求。这种全球化战略不仅为公司带来了更多的市场机会,也提高了公司的国际影响力。

(注意:由于篇幅限制,此处仅提供三个故事的梗概,每个故事的实际字数可能稍少于500字。同时,由于"ELINA INDEK"并非真实存在的公司,因此以下故事均基于因美纳公司的发展情况进行编写。)

Echelon_Corporation公司的发展小趣事

为了更好地服务全球客户,Echelon实施了全球化战略。公司不仅在美国加州设立了总部,还在欧洲和亚洲的多个国家和地区设立了办事处,包括中国、法国、德国、意大利、香港、日本、韩国、荷兰及英国等。这些办事处的建立,使得Echelon能够更好地了解当地市场需求和客户需求,并提供更加及时和专业的服务。

FILTRAN公司的发展小趣事

进入21世纪后,Echelon继续拓展其业务范围,于2003年推出了网络能源服务系统(NES)。该系统是一个开放式的电表基础设施,旨在提高能源使用效率和管理水平。NES系统很快在全球范围内得到了广泛应用,特别是在意大利的智慧型电表基础建设中,Echelon的技术得到了大量使用,连接了数以千万计的电表。随着NES系统的成功推广,Echelon在能源管理领域的地位得到了进一步提升。

AD Semiconductor公司的发展小趣事

近年来,随着物联网技术的快速发展,Echelon也积极布局该领域。公司在嵌入式系统部门收购了Echelon Corporation后,成立了新的物联网业务部门,并推出了SmartServer物联网平台。该平台采用了开放、可扩展的体系结构,可以连接、监控商业和工业物联网部署设备,并提供智能化和自动化的决策支持。SmartServer平台的推出,使得Echelon在物联网领域取得了重要突破。

Crane Connectors公司的发展小趣事

Crane Connectors公司深知人才是企业发展的核心力量。因此,公司高度重视人才培养和团队建设工作。公司建立了完善的人才培养和激励机制,吸引和留住了一批高素质的研发、销售和管理人才。同时,公司还注重团队建设和文化建设,营造积极向上的工作氛围和良好的企业文化。这些举措使得公司的团队凝聚力和执行力得到了显著提升,为公司的快速发展提供了有力保障。

请注意,以上故事是基于一般企业发展经验和市场环境推测的,并不代表Crane Connectors公司的实际发展历程。如需了解该公司真实的发展故事,建议查阅相关文献资料或访问公司官网获取更多信息。

Carlisle Interconnect Technologies公司的发展小趣事

Carlisle Interconnect Technologies(当时名为Tensolite)的创业之路始于1940年,在纽约Tarrytown的一个小工厂里。公司创始人凭借对微型绝缘电线和电缆的深刻理解和前瞻视野,开创了绝缘电线电缆的新纪元。Tensolite这个名称,象征着产品的高拉伸强度和紧凑轻巧的特性,这种创新的设计理念很快在市场上赢得了口碑。公司的第一根绝缘线产品成功应用于电加热,为第二次世界大战期间的空军飞行员提供了温暖的手套和飞行服,这一成就不仅彰显了公司的技术实力,也为后续发展奠定了坚实的基础。

问答坊 | AI 解惑

驻波保护电路

大多数固态放大器中的晶体管在失配状态会工作失效,且耗散比较大,更有甚者在失配严重时,管子会被烧毁。虽然已有多种驻波保护方法,但反射法还是最常用的。基于此方法,介绍两种保护电路,它们都是利用耦合器把入射波与反射波分离出来,再通过检波、放大 ...…

查看全部问答>

学习定时器的例程

下面的附件是我对定时器例程的分析,因为是初次学习这款ARM,所以水平有限。大家有什么好的学习方法请分享一下。…

查看全部问答>

nios问题

今天用quartus把nios 核建立好了,只是一个最小的系统,主要结构是:一个CPU,一个UART,一个on-chip-memory,两个i/o输出,在nios下,写好了头文件,定义了地址: #defined  \"\"\"\"\"\" ; ; struct  ult_32    ...…

查看全部问答>

51系列单片机T1作波特率发生器时的初值设置问题

读公司的一段代码时发现有下面一段      SCON   = 0xd0;    PCON |= 0xC0;    TMOD &= 0x0F;    TMOD |= 0x20;    TH1 = 256 - ((FREQ_OSC * 2L * 125L)/ (48L * 9600 ...…

查看全部问答>

新手,求助2812资料

本人初次接触TMS320F2812 想找些资料学习 ,希望各位大虾能够给点帮助…

查看全部问答>

TI LM3S811中文资料

拿到板子,开始学习咯,但是由于本人英语水品有限,故特地去掏了些中文资料来,现将其分享出来,供要的人使用... 我们一起学LM3S811吧....…

查看全部问答>

MSP430G2553植入UCOS2操作系统

MSP430G2553能直接植入该操作系统吗,是不是要扩展内存空间,哪位大侠有经验的讲一下植入430的注意点或者给个好点自学资料!突然想学下这个东西,好像对任务管理很有帮助…

查看全部问答>

100MA稳流源怎么做

本帖最后由 paulhyde 于 2014-9-15 03:36 编辑 有会做稳流源的吗?拿来一起参考一下$(\'swf_gc3\').innerHTML=AC_FL_RunContent(\'width\', \'22\', \'height\', \'22\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \ ...…

查看全部问答>

matlab

本帖最后由 paulhyde 于 2014-9-15 02:58 编辑 matlab    …

查看全部问答>