OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 16847|回复: 21

ALIENTEK寄存器版本例程,支持V3.5库头文件(stm32f10x.h)的解决办法.

[复制链接]

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-8-4 21:37:35 | 显示全部楼层 |阅读模式
这里我们提供了一个最新的SYSTEM文件夹,完全修改为支持V3.5库头文件了,即不再使用stm32f10x_lib.h而改为stm32f10x.h.
具体做法,这里我们以战舰板的跑马灯为例(编译器为MDK4.70A),进行介绍.
1,首先将跑马灯工程(寄存器版)里面的SYSTEM文件夹删掉,然后复制本帖子附件里面的SYSTEM文件夹到工程目录,如下图所示:


2,然后打开MDK4工程,编译,可以看到很多报错,如下图所示:


错误提示:要先选择目标器件,双击这个错误,可以定位到错误提示的地方,可见我们需要定义一个宏定义,来告诉编译器,我们使用的是什么容量的STM32芯片.对于战舰板,我们使用的是ZET6属于大容量,定义:STM32F10X_HD即可,而对于Mini板,我们用的是RBT6属于中等容量产品,定义:STM32F10X_MD即可.
这个定义,我们可以在Options for Target 对话框的C/C++选项卡定义,如图所示:

设置好之后,点击OK,再次编译.可以看到没有任何错误了,如下图所示:


最后,我们下载代码到战舰STM32开发板,就可以看到跑马灯开始闪烁了.和之前的例程一样的现象.
但是我们却将库头文件版本,由V2.0(stm32f10x_lib.h)提升到了V3.5版本(stm32f10x.h)了.


其他例程,用类似的方法修改即可,如果遇到还有用到stm32f10x_lib.h的地方,直接用stm32f10x.h替代即可.

最后,附上修改后的跑马灯例程以及最新SYSTEM文件夹.


















实验1 跑马灯实验.rar

35.12 KB, 下载次数: 975

SYSTEM.rar

11.03 KB, 下载次数: 1696

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2013-8-4
在线时间
7 小时
发表于 2013-8-5 08:19:26 | 显示全部楼层
太好了!  哈哈   顶!!
修行的路是孤独的。
回复 支持 1 反对 0

使用道具 举报

13

主题

63

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
326
金钱
326
注册时间
2013-3-15
在线时间
6 小时
发表于 2013-8-4 22:58:48 | 显示全部楼层
我是按之前的把stm32f10x_lib.h替换为stm32f10x_map.h,stm32f10x_nvic.h
回复 支持 反对

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1865
金钱
1865
注册时间
2011-3-29
在线时间
140 小时
发表于 2013-8-5 09:47:37 | 显示全部楼层
其实搞不太懂,既然工程里面已经选择了芯片类型,编译器应该能够自动处理,为什么还要人工添加宏呢?百度不到相关资料。
业余程序玩家。
回复 支持 反对

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
51
金钱
51
注册时间
2013-8-4
在线时间
1 小时
发表于 2013-8-5 09:49:18 | 显示全部楼层
已替换,谢谢。另外把启动文件由3.0替换成3.5的,在启动文件中屏蔽SystemInit即可。  
                ;IMPORT  SystemInit
                ;LDR     R0, =SystemInit
                ;BLX     R0 

但是经常出现程序下载完后,需要按一下复位,程序才能正常运行,怎么破?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2013-8-5 10:35:45 | 显示全部楼层
回复【5楼】淡然:
---------------------------------
这估计不是软件问题了。。。
可能是硬件问题。用什么方式下载的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2011-8-11
在线时间
0 小时
发表于 2013-11-12 23:03:56 | 显示全部楼层
似乎在别的程序上还是不行的,比如在外部中断程序里面就会出错..\HARDWARE\EXTI\exti.c(64): error:  #20: identifier "EXTI0_IRQChannel" is undefined
..\HARDWARE\EXTI\exti.c(65): error:  #20: identifier "EXTI15_10_IRQChannel" is undefined   有木有统一的解决办法??
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2013-11-13 10:49:04 | 显示全部楼层
回复【7楼】君子狼:
---------------------------------
所有的IRQChannel,都要改为:IRQn。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
发表于 2014-3-2 16:25:01 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
对TIM3_IRQn定位它的定义,找不到它的宏定义,为啥?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2014-3-2 16:59:52 | 显示全部楼层
回复【9楼】xyzxyzxyz:
---------------------------------
看你用什么版本的头文件了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
发表于 2014-3-2 18:40:11 | 显示全部楼层
回复【10楼】正点原子:
---------------------------------
用stm32f10x.h,可以找到定义吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2014-3-2 20:53:02 | 显示全部楼层
回复【11楼】xyzxyzxyz:
---------------------------------
这个在MDK的安装目录下
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
发表于 2014-3-2 21:25:32 | 显示全部楼层
回复【12楼】正点原子:
---------------------------------
好的,但对于这里面的跑马灯实验,我对TIM3_IRQn查找定义,会出现多次匹配,多次匹配,是对的吗?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2014-3-2 21:55:30 | 显示全部楼层
上图
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
发表于 2014-3-2 22:51:11 | 显示全部楼层
针对楼主所讲的方法,我拿了一个标准实验例程--定时器中断寄存器版本实验,一步步做下来。
当我要对TIM3_IRQn定位它的定义的时候,出现如下图所示。


回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2014-3-3 20:21:26 | 显示全部楼层
回复【15楼】xyzxyzxyz:
---------------------------------
说明有多个地方匹配
你再双击Name这下面一条的list查看即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

8

主题

45

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2013-11-9
在线时间
0 小时
发表于 2014-3-3 20:24:04 | 显示全部楼层
回复【16楼】正点原子:
---------------------------------
这个多处匹配,不算错吧?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
 楼主| 发表于 2014-3-3 21:57:40 | 显示全部楼层
没错
回复 支持 反对

使用道具 举报

12

主题

432

帖子

0

精华

高级会员

Rank: 4

积分
729
金钱
729
注册时间
2012-6-21
在线时间
59 小时
发表于 2014-3-4 09:38:25 | 显示全部楼层
好。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2014-9-2
在线时间
6 小时
发表于 2014-9-2 08:50:55 | 显示全部楼层
mark...
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
31
金钱
31
注册时间
2015-12-22
在线时间
2 小时
发表于 2015-12-22 17:47:15 | 显示全部楼层
回复【18楼】正点原子:
---------------------------------
所有开发板例程都编译出错。。。。Keil5.12
回复 支持 反对

使用道具 举报

0

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2014-9-18
在线时间
21 小时
发表于 2020-5-10 15:34:37 | 显示全部楼层
不错,学习楼主,学习学习!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-28 09:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表