建立工程时又出问题了!!!有点郁闷。 一、MDK建立新工程 1. 老提示s32 未定义,原因是未添加STM32f10x.h 到USRE 2.添加后仍报错,对比例程发现少了system_stm32f10x.c stm32f10x_it.c 两文件,将其复制到USER。 3.复制到USER后仍有错内容: stm32f10x_it.c(78): error: #1270: en tity declared as alias cannot havedefinition D:electricKeiluV4ARMIncSTSTM32F10xstm32f10x_it.h(36): error: #1268-D: declaration aliased to undefinedentity "SysTickHandler" D:electricKeiluV4ARMIncSTSTM32F10xstm32f10x_it.h(35): error: #1268-D: declaration aliased to undefinedentity "PendSVC" 这里是将SysTick_Handler重定向到SysTickHandler了,我记得ST的启动文件中的中断向量表里是SysTick_Handler,这里为何重定向至SysTickHandler, 难道是用了rtos并重写了SysTick中断?如果没用rtos就将stm32f10x_it.h里的滴答中断的声明改为voidSysTick_Handler(void); 就是去掉后面的__attribute__ ((alias("SysTickHandler"))) 4.关于建立工程时需注意的几点 在USER中需添加的文件有 如下五个: stm32f10x.h system_stm32f10x.c stm32f10x_it.c stm32f10x_conf.h stm32f10x_it.h(需按上述第三步修改)
二、自己建了一个小分立文件
1.包含两部分 (1).c 文件中需包含函数中所用的硬件如LED,KEY等的头文件 (2).h 先包含库文件#include "stm32f10x.h",再自定义头文件名称, 然后声明void该函数中所具体包含的函数 格式如下: #include "stm32f10x.h" #ifndef fun_H #define fun_H void fun1(void); void fun2(void); void fun3(void); #endif
2.工程设置 (1)将文件所在路径添加至工程路径 c/c++中的include pathes (2)将文件夹添加至工程,project
|