使用官方的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()的执行;
此问题记下,日后再看;