stm32 程序跑死

使用官方的HAL库文件出现一个问题,死循环之后的代码会影响死循环的执行是否成功,非常奇怪!

把DFP文件复制出来,然后点灯发现无法闪烁,程序不定时跑死,发现问题是缺少it中断文件;

从.s启动的汇编文件中发现如下中断表,

但是我并没有走中断,为啥会跑进中断挂死?

led_okay()函数是一个死循环,在main中,在此函数之后加上lcd_init()会导致led_okay()不工作,led灯无法闪烁,而删除lcd_init()之后,led可以正常工作;

起初猜想加上lcd_init()之后led_okay()所在.c文件由于被编译时靠后,而ram大小没有调整导致代码丢失,引起这种奇怪的问题;

对照手册发现ram大小没有问题;对照例程,发现缺少it文件,少了irq函数的定义;但是在led_okay()执行之前并没有进入中断的流程,且加上it文件之后,并不应该影响led_okay()的执行;

此问题记下,日后再看;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值