OpenEdv-开源电子网

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

位带操作不明白啊

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-12-12
在线时间
0 小时
发表于 2014-12-12 21:18:52 | 显示全部楼层 |阅读模式
5金钱


待机模式需要使能SLEEPDEEP位,现在不明白为什么SCB->SCR|=1<<2就使能了SLEEPDEEP位,下面沾出代码;
隔--------------------------------------------------------------------------------------------------------------------------------------------
沾代码前先放上M3内核系统控制寄存器,可以看到寄存器地址为0xE000_ED10,位段2就是SLEEPDEEP位,就是要操作这里


隔-----------------------------------------------------------------------------------------------------------------------------------
再上个图:

在这个图上可以看到SCB的define,把SCB_BASE转换成指向SCB_TypeDef结构体的指针,下面上个结构体的定义图:

大家看到SCR是第五个U32.
隔------------------------------------------------------------------------------------------------------------------------------------------------
下面我们去追SCB_BASE,为了简单我直接上图了

SCB_BASE为SCS_BASE+0x0D00,再去找SCS_BASE
隔-------------------------------------------------------------------------------------------------------------------------------------------------------------
SCS_BASE:

,找到头了SCB_BASE==(U32)0xE000ED00;
回过头去看M3内核的系统控制寄存器,其地址为0xE000ED10,要操作的SLEEPDEEP在第二个位段;SCB为指向首地址在0xE000ED00的SCB_TypeDef类型指针,
再往下怎么理解啊,SCB->SCR|=1<<2,怎么就操作了SLEEPDEEP位了呢??求解答。。。。。




最佳答案

查看完整内容[请看2#楼]

怎么就不是了呢?你前面分析的很不错啊,为什么就不是呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-12-12 21:18:53 | 显示全部楼层
怎么就不是了呢?你前面分析的很不错啊,为什么就不是呢?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2014-12-12
在线时间
0 小时
 楼主| 发表于 2014-12-23 19:19:58 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
脑袋犯迷糊了。。。。。理解了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-27 16:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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