标题:如何给指定的内存地址赋值或取值?
只看楼主
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: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册: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
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册: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
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-467737-1-1.html




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

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