我是照着网上的编写的(main.c里调用SysTick_Config(SystemCoreClock/1000),stmf10x_it.c里新创一个delay_ms(time)函数……) 然后出了各种问题。我挑几个主要难发觉的问题说下。 第一个是用extern时,最好在被调用的文件里用。意思就是,delay_ms(time)中的形参time传给的变量(它也是stmf10x_it.c中最后需要递减的变量),要在stmf10x_it.c中定义。然后在主函数中extern,注意不要在主函数中赋值。 第二个是报XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).这样的错误时,很有可能是你在头文件写函数时忘记打分号了。 最后就是字母别打漏或者打错了,我的keil没有直接告诉打错了,是我在崩溃边缘无意中发现的。