shuidi_wangdan的个人空间 https://bbs.21ic.com/?939063 [收藏] [复制] [RSS]

shuidi_wangdan

技术奇才奖章' 缘定三生' 湍急之河流' 社区建设奖章' 

统计信息

已有 115 人来访过

  • 积分: 1823
  • 威望: 1823
  • 可用分: 1424
  • 巡查: --
  • 老论坛积分: --
  • 邀请积分: --
  • 推广积分: --
  • 好友: 26
  • 主题: 65
  • 日志: 3
  • 相册: 1
  • 分享: --

    现在还没有相册

  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  • 今天天气不错,挺风和日丽的。。。 回复
  •  回复

现在还没有分享

函数名前加static与不加static的区别 2014-04-11
1:加了static后表示该函数失去了全局可见性,只在该函数所在的文件作用域内可见 2:当函数声明为static以后,编译器在该目标编译单元内只含有该函数的入口地址 ...
(631)次阅读|(0)个评论
PIC——MCC18中断写法 2014-03-05
MPLAB C18不自动把 中断 服务 程序 放在中断向量处。通常将GOTO 指令放在中断向量处,从而把控制权转交给相应的中断服务程序。 PIC 18系 ...
(1470)次阅读|(0)个评论
#define(*(volatile unsigned *) ) 讲解 2013-11-09
1)(unsigned char *)0x20,0x20只是个值,前面加(unsigned char *)表示0x20是个地址,而且这个地址类型是unsigned char ,意思是说读写这个地址时,要写进u ...
(818)次阅读|(0)个评论

查看更多

qq756512897 2014-8-15 17:34
你好  我叫杨金标 很高兴认识你!
diweo 2013-6-1 17:08
shuidi_wangdan : 我的基础确实很薄弱,首先谢谢您的指点,学生感激不尽。 编译器怎样分配我不知道(这也是我薄弱的地方),还请老师指点! a=1是指的变量a的值为1,a(1)是指函 ... 在51中,地址总线是16位,所以PC指针能寻址2^16也就是64K的地址空间。实际上因器件而异,64K可能不会全部用完,比如说可能只用4K,不过PC还是16位的,不会减少到12位。 另外,地址总不会是负的。而且51的C编译器内部int也是16位 ,所以可以认为地址的数据类型就是unsigned int. void task_load(unsigned int fn, unsigned char tid)说明它要2个 ... ...
diweo 2013-6-1 16:50
shuidi_wangdan : 老师,怎样对编译器有更好的理解呢?怎样知道编译器是怎么分配的呢?请指点! 多看,多想,多实践 。 学习技术恐怕只能这样。 我想说的重点是: 不管是变量,还是函数,都是有地址的。 直接写 int a; int func(); 就是让编译器自动分配内存单元。 也可以程序员手动分配,就像这样(好像是用at,我现在手头没工具,不方便验证,但是肯定有类似的方法) int a at 0x0010; int func() at 0x0100; 分配好以后, 执行到a=1 ,其实是变量a对应的内存地址单元的值变为1; 执行到func(1),首先把参 ... ...
diweo 2013-6-1 08:38
可能你的基础有点薄弱,建议再花点时间强化一下。

举例来说吧,请思考:
int a;和int a(int p){...};
编译器如果区别对待他们?
然后再执行
a=1;和a(1)到底各是什么意思?
查看全部