| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 9029 人关注过本帖
标题:如何给指定的内存地址赋值或取值?
只看楼主 加入收藏
Cerry
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-8-10
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:13 
如何给指定的内存地址赋值或取值?
话说。老板就丢给我几个内存地址。。类似于这样:
配置GPIO:GPIO_SUS4,GPIO,Output,High,访问内存地址0xfed8c838,Bit1写1时GPIO高,Bit1写0时GPIO低
如何取值和赋值呢?代码该怎么写呢?- -完全不懂C的额、
搜索更多相关主题的帖子: 如何 
2016-08-10 16:19
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10608
专家分:43190
注 册:2014-5-20
收藏
得分:3 
指针对绝对地址单元读写
2016-08-10 16:35
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:3 
取值不会么,不会吧

我不是砖家,要努力成为砖家。
2016-08-10 16:37
Cerry
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-8-10
收藏
得分:0 
回复 3楼 砖家的谎言
菜鸟一枚。。能给个例子不。。
2016-08-10 16:59
Cerry
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-8-10
收藏
得分:0 
回复 2楼 吹水佬
菜鸟一枚。求示例代码。。
2016-08-10 17:01
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9030
专家分:54050
注 册:2011-1-18
收藏
得分:3 
*(类型*)地址
2016-08-10 18:21
西瓜shine
Rank: 2
等 级:论坛游民
帖 子:15
专家分:79
注 册:2016-7-22
收藏
得分:3 
typedef unsigned short     int uint16_t;   //定义 uint16_t为unsigned short     int型

#define   GPIO_Pin_0      ((uint16_t)0x0001)    // GPIO_Pin_0  为引脚名     0x0001为对应的地址  (uint16_t)为类型
之后对GPIO_Pin_0 进行读写就可以改变引脚0x0001的电平了。
如果你想用Bit0表示GPIO_Pin_0脚,那么可以再加一句
#define   GPIO_Pin_0  Bit0

或者直接
#define   Bit0      ((uint16_t)0x0001)
2016-08-10 19:50
Cerry
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-8-10
收藏
得分:0 
回复 6楼 rjsp
*((volatile int*)0xfed8c838) = 1 我是类似这样写的。。- -可是异常退出了。。是不是不能随便修改到内存的值?要做什么声明或者授予什么权限?
2016-08-11 10:26
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9030
专家分:54050
注 册:2011-1-18
收藏
得分:0 
以下是引用Cerry在2016-8-11 10:26:12的发言:

*((volatile int*)0xfed8c838) = 1 我是类似这样写的。。- -可是异常退出了。。是不是不能随便修改到内存的值?要做什么声明或者授予什么权限?
代码没错,可这个地方是否能读、是否能写,那就不知道了
你先看看是否能读,例如 int n = *((volatile int*)0xfed8c838);

是嵌入式吗?
如果不是,那么CPU工作在实地址模式下吗?
如果不是,你写的是应用程序还是驱动程序?
2016-08-11 10:51
Cerry
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2016-8-10
收藏
得分:0 
回复 9楼 rjsp
- -老板是打算让我写应用程序控制的。。我试下哈。。
2016-08-11 11:11
快速回复:如何给指定的内存地址赋值或取值?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041791 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved