单片机操作内存

[复制链接]
2869|10
 楼主| frank21 发表于 2009-11-29 21:46 | 显示全部楼层 |阅读模式
请问用C语言可以直接操作单片机的存储单元吗???   用汇编可以方便的操作,不知道用C可不可以操作。
 楼主| frank21 发表于 2009-11-29 22:16 | 显示全部楼层
自己顶一下吧
xlsbz 发表于 2009-11-29 22:24 | 显示全部楼层
可以啊  比如在 0x0020这个位置放个数!

*(unsigned char *)0x0020 = 0xFF;

哈哈那么你就会发现 你设置的头8个bit 变量就是1了!!!!
xlsbz 发表于 2009-11-29 22:25 | 显示全部楼层
当然也可以用那个 _at_  但是我不会这个! 你自己查查书吧
NE5532 发表于 2009-11-29 22:30 | 显示全部楼层
如果不能操作存储单元,那你咋对变量赋值的呢?你的任何变量操作都是在对存储单元操作,还可以用指针来访问。不过汇编可以随意玩寄存器,C就不行了;还有汇编可以玩PC指针和堆栈,C就不行了,这就是汇编比C牛X的地方。
 楼主| frank21 发表于 2009-11-30 20:03 | 显示全部楼层
5# NE5532


我是指直接将数存在我指定的内存地址中哈!
NE5532 发表于 2009-11-30 20:37 | 显示全部楼层
你拿指针指就是了,不过小心弄飞。
mohanwei 发表于 2009-11-30 20:50 | 显示全部楼层
C也是可以玩寄存器的……
Txapp 发表于 2009-11-30 21:52 | 显示全部楼层
C咋就不能随意玩寄存器了呢?既然汇编那么牛XWindow, Linux咋不全用汇编写呢,咋99%都用该死的C来写啊?
NE5532 发表于 2009-11-30 22:20 | 显示全部楼层
C只能声明是Register变量,不像汇编能完全操作硬件,C的好处就是快,可以把注意力集中在应用上而不是集中在资源分配上。
desert_hawk 发表于 2009-11-30 22:43 | 显示全部楼层
用三楼的办法就行了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

48

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部