打印

STM32自学笔记(二)Keil MDK建立新工程

[复制链接]
3662|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yixifeng1990|  楼主 | 2013-3-25 23:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
建立工程时又出问题了!!!有点郁闷。
一、MDK建立新工程
1.老提示s32未定义,原因是未添加stm32f10x.h到USRE
2.添加后仍报错,对比例程发现少了system_stm32f10x.c
stm32f10x_it.c 两文件,将其复制到USER。
3.复制到USER后仍有错内容:
stm32f10x_it.c(78): error:  #1270: entity declared as alias cannot have definition
D:\electric\Keil uV4\ARM\Inc\ST\STM32F10x\stm32f10x_it.h(36): error:  #1268-D: declaration aliased to undefined entity "SysTickHandler"
D:\electric\Keil uV4\ARM\Inc\ST\STM32F10x\stm32f10x_it.h(35): error:  #1268-D: declaration aliased to undefined entity "PendSVC"
这里是将SysTick_Handler重定向到SysTickHandler了,我记得ST的启动文件中的中断向量表里是SysTick_Handler,这里为何重定向至SysTickHandler,
难道是用了rtos并重写了SysTick中断?如果没用rtos就将stm32f10x_it.h里的滴答中断的声明改为void SysTick_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
沙发
yixifeng1990|  楼主 | 2013-3-25 23:59 | 只看该作者
:)

使用特权

评论回复
板凳
加油吧小鱼儿| | 2013-6-13 10:25 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

95

帖子

1

粉丝