程序老死机

[复制链接]
1805|8
 楼主| huangbaohong 发表于 2014-1-20 15:02 | 显示全部楼层 |阅读模式
我最近写了个STM32L151C8的程序,但是程序运行的时候老死在startup_stm32l1xx_md.s中
TIM4_IRQHandler
I2C1_EV_IRQHandler
I2C1_ER_IRQHandler
I2C2_EV_IRQHandler
I2C2_ER_IRQHandler
SPI1_IRQHandler
SPI2_IRQHandler
USART1_IRQHandler
USART2_IRQHandler
USART3_IRQHandler
EXTI15_10_IRQHandler
RTC_Alarm_IRQHandler
USB_FS_WKUP_IRQHandler
TIM6_IRQHandler
TIM7_IRQHandler
                B       .          //程序就死在这里,有时候会卡死在这里,有时候又不会
                ENDP
                ALIGN
,不知什么原因,希望各位帮忙解答一下
helldata 发表于 2014-1-20 15:05 | 显示全部楼层
是在线调试,reset之后吧?
有没有进__system_init()和__main()?
可能是你时钟没有配置好。
 楼主| huangbaohong 发表于 2014-1-20 15:30 | 显示全部楼层
helldata 发表于 2014-1-20 15:05
是在线调试,reset之后吧?
有没有进__system_init()和__main()?
可能是你时钟没有配置好。 ...

嗯,在线调试,已经进入main(),时钟这些都应该没问题,现在没有问题了,应该是ADC有问题,不过现在还有另一个问题就是在线调试的时候程序运行时正常的,但是断开调试之后程序就不能正常运行了是什么原因呢,又看不出是哪儿出了问题
helldata 发表于 2014-1-20 15:33 | 显示全部楼层
在线调试跟正常运行有一点不同:在线调试时时钟慢,正常运行时,时钟是正常时钟,可能跟延时有关。
 楼主| huangbaohong 发表于 2014-1-20 17:57 | 显示全部楼层
helldata 发表于 2014-1-20 15:33
在线调试跟正常运行有一点不同:在线调试时时钟慢,正常运行时,时钟是正常时钟,可能跟延时有关。 ...

:L,程序有出现上面的问题了,还是要卡死在B那里
mmuuss586 发表于 2014-1-20 18:27 | 显示全部楼层
helldata 发表于 2014-1-21 09:00 | 显示全部楼层
huangbaohong 发表于 2014-1-20 17:57
,程序有出现上面的问题了,还是要卡死在B那里

以前也碰到过类似的问题,忘记怎么解块的了,大概跟时钟或MDK配置有关。
yanwenbin33 发表于 2014-1-21 17:26 | 显示全部楼层
其实不死在那里我倒是没法理解。死的那条语句:(B .)的意思是跳转到当前指令,就是一直在哪里循环。也就是说,如果进入了上面的那些中断就会死机。
yanwenbin33 发表于 2014-1-21 17:28 | 显示全部楼层
其实不死在那里我倒是没法理解。死的那条语句:(B .)的意思是跳转到当前指令,就是一直在那里循环。也就是说,如果进入了上面的那些中断就会死机;相当于进入中断后,中断服务程序里只有一条指令:while(1);。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部