您当前的位置:五五电子网电子知识电子学习基础知识电脑-单片机-自动控制C语言编程时的注意事项 正文
C语言编程时的注意事项

C语言编程时的注意事项

点击数:7698 次   录入时间:03-04 11:57:28   整理:http://www.55dianzi.com   电脑-单片机-自动控制
  1)关于设置指针SP的问题。
  
  编译器在把所有变量和缓冲区赋予地址后,自动把最后一个字节开始的地方,作为SP的开始位置,所以初学者是不必要去理会的。这体现C的优越性,很多事情C编译时候做了。
  
  2)在51系列中data,idata,xdata,pdata的区别data:固定指前面0x00-Ox7f的128个RAM,可以用aCC直接读写的,速度最快,生成的代码也最小。
  
  idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编中的语句为:moxA,@Rx.xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。
  
  pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movxACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属于中级问题,这里不提。
  
  3)startUp.a51的作用和汇编一样,在C中定义的那些变量和数组的初始化就在star。tup.a51中进行,如果你在定义全局变量时带有数值,如LJnsignedchardataXXX=100;,那startup.a51中就会有相关的赋值。如果没有=100,startup.a51就会把他清O。(startup.a51==变量的初始化)。
  
  这些初始化完毕后,还会设置SP指针。对非变量区域,如堆栈区,将不会有赋值或清零动作。


本文关键字:C语言  电脑-单片机-自动控制电子学习 - 基础知识 - 电脑-单片机-自动控制