C51编程错误记录

[ 2006-5-23 9:46:00 | By: ly_zw ]

C51学习笔记
                                      

1.%bx的应用输出为HEX值;

2.定义变量在函数操作之前;(sbit只能在函数外部定义

3.仿真器一般默认设置为内部晶振,所以在高度时应注意;

4.sbit可寻址管脚

5.数据类型:char  ,int ,long ,float  ,  *,bit    sfr,  sfr16,  sbit

(bit mybit=data^0;可位寻址对象)

6.s1[]="1234";s2[]={'1','2','3','4'};

         sizeof(s1)=5;sizeof(s2)=4;

7.注意:0x   十进制和十六进制的问题

8。运算符优先级问题 :

9.     二维数组的操作:#i nclude
 
  #define uchar unsigned char
 
  main()
  {
   uchar code menu[8][23]={"Main Menu","Port Status(Read Only)","Config Menu","Config Port","VLAN Gloable","Config VLAN","QoS Configuration","Port Tagging Control"};
   uchar i,j,k;
   i=0;
   k=0;
   while(k<8)
   {
   j=menu[k][0];
    k++;

    }
    while(1);

   }

10:注意数组名与指针在运用sizeof()时的区别

uchar code a[]="abcdefg";
    uint code b[5];
    uchar *p;
    uchar i,j,k;
    p=a;
    k=sizeof(p);  //k=3;
    i=sizeof(a); // i=8
    j=sizeof(b); // j=10;

11.函数定义反回但实际没有返回值时,返回值不定!

12.函数在没有VOID定义下用RETURN进行结束函数的操作;

13.c51中字符串没有结束符,没有值为00;

Re:C51编程错误记录

[ 2006-9-23 21:04:00 | By: wanghuan(游客) ]
请教大哥,我刚开始C,以前用汇编,就是用C的时候使用P0^4=0;这样的位寻址的时候,总是出现TEXT2222.C(19): error C141: syntax error near '='  错误提示,头文件已经加上了,而且用P0=0X00又没有错误,不知道是什么原因,请大哥指教啊.
个人主页 | 引用 | 返回 | 删除 | 回复

发表评论:[注册一个ShineBlog?]

    昵称:
    密码: (游客无须输入密码)
    主页:
    标题:
    正在载入数据,请稍候……