个人笔记:
问题:在用IAR进行软件调试时发现软件上某些功能没有开启时程序运转时正常的,但当软件所有的功能都开启之后,某些功能会工作异常,但程序还在跑,仿真没有停止。
解决:在调试前在主程序中添加获取系统所有时钟的函数,在软件出错时在获取时钟函数后打断点,查看所有的总线时钟,发现只有个别总线时钟是对的,其他的都清零了导致挂载在这些总线上的外设工作出现异常。
导致问题的原因:在开启的功能函数中有一个算法函数,该函数中定义了大量的变量。
//stm32获取系统时钟函数
RCC_ClocksTypeDef rccclk;
RCC_GetClocksFreq(&rccclk); //获取系统时钟
阅读(831) | 评论(0) | 转发(0) |