搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 如何给指定的内存地址赋值或取值?
标题:
如何给指定的内存地址赋值或取值?
只看楼主
Cerry
等 级:
新手上路
帖 子: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
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
2
楼
得分:3
指针对绝对地址单元读写
2016-08-10 16:35
砖家的谎言
等 级:
禁止访问
威 望:
30
帖 子:693
专家分:3898
注 册:2013-12-6
第
3
楼
得分:3
取值不会么,不会吧
我不是砖家,要努力成为砖家。
2016-08-10 16:37
Cerry
等 级:
新手上路
帖 子:8
专家分:0
注 册:2016-8-10
第
4
楼
得分:0
回复 3楼 砖家的谎言
菜鸟一枚。。能给个例子不。。
2016-08-10 16:59
Cerry
等 级:
新手上路
帖 子:8
专家分:0
注 册:2016-8-10
第
5
楼
得分:0
回复 2楼 吹水佬
菜鸟一枚。求示例代码。。
2016-08-10 17:01
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
6
楼
得分:3
*(类型*)地址
2016-08-10 18:21
西瓜shine
等 级:
论坛游民
帖 子:15
专家分:79
注 册:2016-7-22
第
7
楼
得分: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
等 级:
新手上路
帖 子:8
专家分:0
注 册:2016-8-10
第
8
楼
得分:0
回复 6楼 rjsp
*((volatile int*)0xfed8c838) = 1 我是类似这样写的。。- -可是异常退出了。。是不是不能随便修改到内存的值?要做什么声明或者授予什么权限?
2016-08-11 10:26
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
9
楼
得分:0
以下是引用
Cerry
在2016-8-11 10:26:12的发言:
*((volatile int*)0xfed8c838) = 1 我是类似这样写的。。- -可是异常退出了。。是不是不能随便修改到内存的值?要做什么声明或者授予什么权限?
代码没错,可这个地方是否能读、是否能写,那就不知道了
你先看看是否能读,例如 int n = *((volatile int*)0xfed8c838);
是嵌入式吗?
如果不是,那么CPU工作在实地址模式下吗?
如果不是,你写的是应用程序还是驱动程序?
2016-08-11 10:51
Cerry
等 级:
新手上路
帖 子:8
专家分:0
注 册:2016-8-10
第
10
楼
得分:0
回复 9楼 rjsp
- -老板是打算让我写应用程序控制的。。我试下哈。。
2016-08-11 11:11
14
1/2页
1
2
参与讨论请移步原网站贴子:
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