OpenEdv-开源电子网

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

对stm32f10x_map.h理解有点问题

[复制链接]

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
发表于 2013-8-5 19:33:59 | 显示全部楼层 |阅读模式
看了stm32f10x_map.h头文件,简单话就是按如下代码初始化每个寄存器的地址,如:
typedef struct
{
  vu32 CTRL;
  vu32 LOAD;
  vu32 VAL;
  vuc32 CALIB;
} SysTick_TypeDef;
#define SCS_BASE              ((u32)0xE000E000)

#define SysTick_BASE          (SCS_BASE + 0x0010)
#ifdef _SysTick
  #define SysTick             ((SysTick_TypeDef *) SysTick_BASE)
#endif /*_SysTick */
#ifdef _SysTick
  EXT SysTick_TypeDef         *SysTick;
#endif /*_SysTick *
实现这些步骤,就可以定义SysTick中CTRL的地址为0xE000E010了吗

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2013-7-16
在线时间
0 小时
发表于 2013-8-5 20:03:44 | 显示全部楼层
是的。看一下结构体指针就懂的了。
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
 楼主| 发表于 2013-8-5 21:00:15 | 显示全部楼层
回复【2楼】2009010101340:
---------------------------------
那我的疑问就是指针变量和宏定义一个名称可以编译吗?没见过这样的
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-5 21:05:19 | 显示全部楼层
回复【3楼】疯子DGC:
---------------------------------
你看错了吧,没有一样啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
 楼主| 发表于 2013-8-5 21:07:26 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
如帖:
 #define SysTick             ((SysTick_TypeDef *) SysTick_BASE)
EXT SysTick_TypeDef         *SysTick;
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-5 22:42:30 | 显示全部楼层
被你忽悠了,呵呵。
/*------------------------ Non Debug Mode ------------------------------------*/
.....
/*------------------------ Debug Mode ----------------------------------------*/
#else   /* DEBUG */

.map里面包括了两套定义,一套是debug,一套是非debug。两个不是同时有效的!!!
你把代码贴在一起,省略了一些关键代码,我还以为你是直接copy的源代码....
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
 楼主| 发表于 2013-8-5 23:17:23 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
哦,看到了,那Debug Mode中它的地址在哪初始化的?在NON Debug Mode中他只是个宏,怎么能使用结构体呢?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-5 23:24:21 | 显示全部楼层
将地址强制转换为指针,然后这个地址就是寄存器组的首地址,操作指针就相当于操作寄存器地址,当然可以用了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
 楼主| 发表于 2013-8-6 09:13:01 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
对啊,但是我没找到这部分的代码实现?
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
 楼主| 发表于 2013-8-6 09:48:26 | 显示全部楼层
回复【9楼】疯子DGC:
---------------------------------
我的意思是在Debug 模式下,没有对指针赋值啊。???
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-6 10:26:09 | 显示全部楼层
回复【10楼】疯子DGC:
---------------------------------
初始化的时候不就是赋值么?你没看到我们的初始化代码,操作各个寄存器么?那不是赋值是什么?

另外这些都有个复位值的,即便你不理会,系统复位后,都会有个初始值.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
 楼主| 发表于 2013-8-6 10:47:20 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
比如:在debug模式下,定义一个指针变量,EXT SysTick_TypeDef         *SysTick;
就没看到对SysTick的地址赋值啊???
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-6 11:13:41 | 显示全部楼层
回复【12楼】疯子DGC:
---------------------------------
对不起,debug模式我也没用过,所以不做评论了,你研究下吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2013-8-5
在线时间
1 小时
 楼主| 发表于 2013-8-6 11:32:49 | 显示全部楼层
回复【13楼】正点原子:
---------------------------------
代码不是你们写的吗?还是你们整理的?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-6 12:44:55 | 显示全部楼层
回复【14楼】疯子DGC:
---------------------------------
这个.h文件是ST提供的.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

16

主题

253

帖子

0

精华

高级会员

Rank: 4

积分
565
金钱
565
注册时间
2013-10-16
在线时间
52 小时
发表于 2014-12-15 14:51:14 | 显示全部楼层
谢谢楼主分享,楼主辛苦了
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-28 00:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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