你已经跑到非代码区了, 分析Fault Reports已经没意思, 点开Call Stack 看整个调用的路径, 才能找到问题 初步定位是一个变量没有初始化所致,跑了几小时没有再出现,但有待观察,问题出现的概率比较低 是不是使能中断了,但是没有给出中断响应函数? 问题解决了吗? ARM有时候就是这样啰嗦..... 看下是不是哪个中断服务函数没写或者没写好,void USART1_IRQHandle(void),可以重点检查一下类似这种中断服务函数 建议在官方软件库的工程模板上开发程序吧,有现成标准的平台可用,交流起来也规范。自己单独建项目工程需要了解的知识点很多,遇到问题也是千奇百怪的,所以官方的统一平台有很多好处:) 各楼把能想到的都挑出来了……
在下补充一个老生长谈的话题: 看看你的程序中有没有用到printf(),如果有,就要打开USART1(具体重定向到哪,可查看fput),既然你关闭所有中断问题依旧,这种可能更大了 各楼把能想到的都挑出来了……
在下补充一个老生长谈的话题: 看看你的程序中有没有用到printf(),如果有,就要打开USART1(具体重定向到哪,可查看fput),既然你关闭所有中断问题依旧,这种可能更大了
你所说的B.是S文件临时对中断处理所作的弱函数(一个死循环),如果老在该区域说明有打开的中断没有写相应的中断处理函数,故而跳到缺省的弱函数那里 中断服务函数有可能写错了
页:
1
[2]