C51编程错误记录
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;
- 上一篇:I2C读写EEPROM程序
- 下一篇:专业的前景

