历史上的今天
返回首页

历史上的今天

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



推荐阅读

史海拾趣

动运科技(DONGWOON)公司的发展小趣事

经过多年的发展,动运科技已经成长为一家在电子行业中具有重要影响力的企业。面对未来,公司将继续坚持技术创新和市场拓展的战略方针,不断推出更加优质的产品和服务。同时,动运科技也将积极应对行业变革和市场挑战,加强与全球合作伙伴的沟通和合作,共同推动电子行业的持续发展和进步。展望未来,动运科技将继续以开放的心态和创新的精神,迎接更加美好的未来。

请注意,以上故事是基于现有信息进行的概括性描述,并非具体的历史事件或详细数据。如需更详细的信息,建议查阅相关新闻报道或公司官方资料。

德欣(COV)公司的发展小趣事

面对电子行业的快速发展和市场竞争的加剧,德欣公司始终将技术创新作为发展的核心动力。公司不断加大研发投入,引进先进的生产设备和技术人才,加强与高校和科研机构的合作。通过不断的技术创新和产品升级,德欣公司在保持传统产品优势的同时,也成功拓展了新的业务领域,实现了产业升级和可持续发展。

Global Communications公司的发展小趣事
温度传感器的输出与温度之间的线性关系可能不理想,导致补偿效果不准确。此时,可以采用非线性补偿技术或选择具有更好线性度的温度传感器来解决问题。
Ava Electronics Corp公司的发展小趣事

随着市场的不断发展,AVA电子意识到只有不断创新才能在竞争中保持领先。于是,公司加大了在研发方面的投入,引进了一批高素质的研发人才,并与多所高校和研究机构建立了合作关系。经过数年的努力,AVA电子成功研发出了一系列具有自主知识产权的电子产品,这些产品在性能、稳定性和用户体验等方面都达到了行业领先水平。这些创新产品的推出,不仅提升了公司的市场地位,也为公司带来了可观的利润。

Coors Components Inc公司的发展小趣事

在某个关键项目的研发过程中,Coors Components Inc公司遇到了前所未有的技术难题。然而,公司的研发团队并没有因此而气馁,他们通过加强内部沟通、分享经验以及相互支持,最终成功攻克了难关。这一经历不仅增强了团队的凝聚力,也为公司培养了一批忠诚且能力出众的员工。

广州基安彼(GMB)公司的发展小趣事

在某个关键项目的研发过程中,Coors Components Inc公司遇到了前所未有的技术难题。然而,公司的研发团队并没有因此而气馁,他们通过加强内部沟通、分享经验以及相互支持,最终成功攻克了难关。这一经历不仅增强了团队的凝聚力,也为公司培养了一批忠诚且能力出众的员工。

问答坊 | AI 解惑

语音单片机WT588D

Ü 外挂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,将电压转成数字信号了, 就不知道怎么实 ...…

查看全部问答>

求教高手解决vxworks 启动盘制作问题

我在制作启动盘时如果选择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 ...…

查看全部问答>

怎样用residentFlash保存用户数据

我用的是2410+wince4.2,flash用的是K9F1208UOM.在wince系统运行时,我能够看到ResidentFlash文件夹,而且好像用属性查看剩于空间也就是出去os镜像的大小.但是好像因为没有指定flash剩于空间的起始位置的原因吧,只要拷东西进这个文件夹,下次wince就别 ...…

查看全部问答>

早晨浏览见到个地铁应急灯大家看下,我看老好了

  这款地铁应急灯是为应付地铁突发状况准备的。当地铁突然停运,电源切断的时候,乘客们可以将把手取下,充当应急电筒使用。通过挤按把手上的按钮,就能够轻松将把手与带子分离。当然,只有在地铁熄灯之后才能启动这一按钮。   &n ...…

查看全部问答>

VHDL类属参数在verilog中怎么对应?

在VHDL中,类属参数可以在不同层次的模块间传递。可以在顶层修改这些参数,下面各层随之改变。 verilog中怎么实现这一功能? 谢谢!…

查看全部问答>

信号链基础知识合集2

  自《电源开关设计秘笈30例》推出以来,得到广大工程师的热烈反响, 已推出的由德仪资深工程师William P. (Bill) Klein 主笔的《信号链基础知识合辑》反响也非常好,   应大家的强烈要求,现隆重推出《信号链基础知识合辑2》   ...…

查看全部问答>