|
|
前往: |
| (*(volatile unsigned long *)详解 |
| 发表人 | 内容 | |
|---|---|---|
| 2011/06/29 17:11 |
|
|
|
[楼主位] yaocp86
等级:
注册时间:![]() 2011/01/10 20:44 文章: 67 来自: 南京 离线 |
(*(volatile unsigned long *)
这篇文章被编辑了 1 次. 最近一次更新是在 2011/06/29 17:12 |
|
|
希望在哪里呀,希望在哪里! |
||
|
||
| 2011/06/29 19:59 |
|
|
|
[1楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8097 来自: 湖南 离线 |
学习...
|
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
| 2011/06/30 14:40 |
|
|
|
[2楼] yaocp86
等级:
注册时间:![]() 2011/01/10 20:44 文章: 67 来自: 南京 离线 |
。。。原子哥,你来学毛啊,忽悠人^_^
这篇文章被编辑了 1 次. 最近一次更新是在 2011/06/30 14:42 |
|
|
希望在哪里呀,希望在哪里! |
||
|
||
| 2011/06/30 16:05 |
|
|
|
[3楼] Crystal_oscillat
等级:
注册时间:![]() 2011/06/30 15:20 文章: 47 来自: 湖南 离线 |
while((unsigned char *)0x20)这个相当于unsigned char *p; while(p)
这样当然死循环了,加了volatile也死循环啊,对吧 |
|
|
||
| 2011/06/30 18:23 |
|
|
|
[4楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8097 来自: 湖南 离线 |
回复【2楼】 yaocp86 :
--------------------------------- volatile 这个我也很少用呢... 当然要学了. 回复【3楼】 Crystal_oscillat : --------------------------------- 是的. |
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
| 2011/07/22 20:55 |
|
|
|
[5楼] 京剧娃娃
等级:
注册时间:![]() 2011/07/22 14:48 文章: 6 来自: 哈尔滨 离线 |
回复【楼主位】 yaocp86 :
--------------------------------- 谢谢啦你的详解解决了我的疑惑,楼主对指针的理解好深刻哇 |
|
|
||
| 2011/07/22 20:56 |
|
|
|
[6楼] 京剧娃娃
等级:
注册时间:![]() 2011/07/22 14:48 文章: 6 来自: 哈尔滨 离线 |
回复【4楼】 正点原子 :
--------------------------------- 谢原子大哥的提示,我弄清了这两个 * 的用法了。 |
|
|
||
| 2011/07/24 15:12 |
|
|
|
[7楼] zhy980
等级:
注册时间:![]() 2011/07/07 13:47 文章: 2 离线 |
学习了,mark
|
|
|
||
| 2011/08/28 08:37 |
|
|
|
[8楼] chao8828276
等级:
注册时间:![]() 2011/08/11 08:48 文章: 32 离线 |
不顶不行
|
|
|
||
| 2011/08/28 15:18 |
|
|
|
[9楼] muc520
等级:
注册时间:![]() 2011/06/20 21:01 文章: 210 离线 |
以前一直不懂指针的。mark!
|
|
|
||
| 2011/08/28 23:07 |
|
|
|
[10楼] SEASON3
等级:
注册时间:![]() 2011/08/12 01:59 文章: 61 离线 |
学习了,谢谢!
|
|
|
||
| 2011/08/29 08:22 |
|
|
|
[11楼] 苹果
等级:
注册时间:![]() 2011/03/23 09:42 文章: 72 离线 |
学习了·····
|
|
|
||
| 2011/08/31 11:12 |
|
|
|
[12楼] esteem
等级:
注册时间:![]() 2011/07/23 10:12 文章: 48 来自: 河南 离线 |
我学习不了,看不懂啊。
|
|
|
||
| 2011/10/20 11:25 |
|
|
|
[13楼] baiydcwy
等级:
注册时间:![]() 2011/09/19 15:08 文章: 68 来自: 武汉 离线 |
回复【楼主位】 yaocp86 :
--------------------------------- 请的比较深刻哈,呵呵,学习了,不知道能不能讲一下const这个修饰符呢?我好像理解的不是很清楚哦,平时也没用过,能不能也像上面一样,把const也讲一下,清楚、深刻一点,呵呵。。。。。。 |
|
|
||
| 2011/11/01 17:12 |
|
|
|
[14楼] 城南小卒
等级:
注册时间:![]() 2011/10/21 17:13 文章: 18 离线 |
太猛了 本来我是这句话看不懂过来学习的 看完发现不懂的更多了
|
|
|
||
| 2011/11/01 23:37 |
|
|
|
[15楼] Tardis
等级:
注册时间:![]() 2011/07/17 14:35 文章: 621 离线 |
回复【楼主位】 yaocp86 :
--------------------------------- 回复【4楼】 正点原子 : --------------------------------- 回复【14楼】 城南小卒 : --------------------------------- 确实,太猛了。 约约的问一下: *(volatile unsigned char *)0x20这个可不可以理解成这样? 0x20是一个数,那么(volatile unsigned char *)0x20就表示0x20这个地址上所存的一个unsigned char型的数,那么再在前面加*,就代表了0x20这个地址中的数所代表的地址对应的数?也就是,假如0x20中存的是0x80,那么*(volatile unsigned char *)0x20这个是不是就指向0x80这个地址中所存的数了? |
|
|
Time And Relative Dimension In Space. |
||
|
||
| 2011/11/02 00:29 |
|
|
|
[16楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8097 来自: 湖南 离线 |
是的.
|
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
| 2011/11/02 08:07 |
|
|
|
[17楼] Tardis
等级:
注册时间:![]() 2011/07/17 14:35 文章: 621 离线 |
太猛了,忽然懂了如何使用指针。
|
|
|
Time And Relative Dimension In Space. |
||
|
||
| 2011/11/02 12:56 |
|
|
|
[18楼] Cho
等级:
注册时间:![]() 2011/06/17 12:17 文章: 22 离线 |
剛剛想問, 謝樓主
|
|
|
||
| 2011/12/02 23:22 |
|
|
|
[19楼] Bigben
等级:
注册时间:![]() 2011/12/02 22:33 文章: 5 来自: 湖南 离线 |
受教了.
|
|
|
||
| 2011/12/02 23:34 |
|
|
|
[20楼] muc520
等级:
注册时间:![]() 2011/06/20 21:01 文章: 210 离线 |
这个对学FSMC很有帮助
|
|
|
||
| 2011/12/03 08:57 |
|
|
|
[21楼] 螃蟹爱虫
等级:
注册时间:![]() 2011/09/03 00:18 文章: 372 来自: 广东 离线 |
感謝樓主的分享,說的很通透。讓人讀了一目了然。
|
|
|
||
| 2011/12/03 11:16 |
|
|
|
[22楼] 提刀上马
等级:
注册时间:![]() 2011/08/02 16:15 文章: 91 离线 |
回复【2楼】 yaocp86 :
--------------------------------- 呵呵,顶起~~ |
|
|
||
| 2011/12/06 08:52 |
|
|
|
[23楼] baiydcwy
等级:
注册时间:![]() 2011/09/19 15:08 文章: 68 来自: 武汉 离线 |
回复【15楼】 Tardis :
--------------------------------- 回复【16楼】 正点原子 : --------------------------------- 15楼理解的好像有点问题呃,*(volatile unsigned char *)0x20,在这个式子中,首先把0x20强制转换成为指向一个unsigned char类型的指针,也就是说0x20现在它是一个地址了,然后再在其前面加一个*,这时就是取地址0x20中的数据,假如0x20里面放的是0x80,那么*(volatile unsigned char *)0x20=0x80,而不是指向0x80里面存放的值。 |
|
|
||
| 2011/12/06 11:06 |
|
|
|
[24楼] 正点原子
等级:
注册时间:![]() 2010/12/02 10:41 文章: 8097 来自: 湖南 离线 |
回复【23楼】 baiydcwy :
--------------------------------- 恩,应该你的理解才是对的。 |
|
|
我的淘宝小店:http://shop62103354.taobao.com |
||
|
||
| 2011/12/09 12:22 |
|
|
|
[25楼] zenghi
等级:
注册时间:![]() 2011/11/02 10:35 文章: 131 离线 |
非常好,说明的如此通透 。
|
|
|
||
| 2011/12/11 08:31 |
|
|
|
[26楼] wlkdy
等级:
注册时间:![]() 2011/01/16 08:41 文章: 45 离线 |
拜读了,谢谢LZ
|
|
|
||
| 2012/01/30 12:42 |
|
|
|
[27楼] zhjr1220
等级:
注册时间:![]() 2012/01/30 12:40 文章: 2 离线 |
不错,学习了
|
|
|
||
| 2012/01/31 22:06 |
|
|
|
[28楼] victor
等级:
注册时间:![]() 2011/04/06 19:37 文章: 17 离线 |
学习volatile的用法
|
|
|
||
| 2012/02/12 21:45 |
|
|
|
[29楼] liyucheng987
等级:
注册时间:![]() 2012/02/12 21:44 文章: 1 离线 |
回复【楼主位】 yaocp86 :
--------------------------------- mark!!! |
|
|
||
| 2012/02/13 10:01 |
|
|
|
[30楼] Littlebee
等级:
注册时间:![]() 2012/01/06 15:04 文章: 3 来自: 江苏 离线 |
学习
|
|
|
||
| 2012/02/15 17:12 |
|
|
|
[31楼] jonathan
等级:
注册时间:![]() 2012/02/15 16:13 文章: 6 来自: 北京 离线 |
学习了...
|
|
|
||
| 2012/02/16 16:47 |
|
|
|
[32楼] 冰天雪地_兰
等级:
注册时间:![]() 2012/02/13 12:11 文章: 19 来自: 北京 离线 |
MARK
|
|
|
||
| 2012/02/23 09:14 |
|
|
|
[33楼] trusture
等级:
注册时间:![]() 2011/06/11 19:47 文章: 44 来自: 重庆 离线 |
回复【3楼】 Crystal_oscillat :
--------------------------------- 你理解错了,如果加了volatile,则每次都会去读原地址中的数据,而这个数据可能在你不知道的情况下自己发生变化(比如这是IO口的输入寄存器) |
|
|
||
| 2012/03/24 17:24 |
|
|
|
[34楼] 10086rainer
等级:
注册时间:![]() 2012/03/14 20:22 文章: 37 离线 |
这帖子,果断顶起,建议加精啊!
|
|
|
||
| 2012/04/13 22:29 |
|
|
|
[35楼] zhanggenftf
等级:
注册时间:![]() 2012/03/29 10:33 文章: 8 离线 |
好方法、、
|
|
|
||
|
|
||
|
| 前往: |