捣鼓两天了,结果发现是stm32启动文件的问题, 因为我是直接配置寄存器,所以在新建工程的时候keil会自动给工程添加一个.s文件,然后各个终端的程序入口都在这里,先问过原子哥,他也不知道,后来无意中发现网上的一篇文章跟我遇到的情况一模一样,也是芯片vet6而且巧合的是都怀疑是这片芯片是不是没有高级定时器8.但是他想到了 stm32的启动文件,然后跟着他的思路,我找到了我的启动文件,发现果然没有高级定时器8的程序入口点,现在,我捣鼓了两天的问题终于浮出水面,,,,,,
太激动了,下面把方法总结下:
1、首先需要有系统的分析方法,或者思路,这是必须要锻炼好的
2、得到一点经验就是,你程序没有逻辑问题的话,去看看程序里面还有哪些你没接触过的地方,这样很容易找到问题的突破口,所以说你的程序每个地方你都必须是最清楚的。
3、keil4.12版本里面,新建工程的时候自添加的.s文件不完整,仔细查看原来是05-07年的版本,那时候还没出stm32f103vet6,所以中断程序的入口地址根本没有那么多,就一些基本的,像高级定时器的中断程序入口地址就没有,还得自己添加。
4、现在可以下载新版本的keil423,可以解决.s文件内容不全的问题