Keil中C代码常见错误的解决

1.定义问题
(1)变量大小有限制,如数组长度,一般最好不要100,否则能会报错,如下:Keil中C代码常见错误的解决

*** ERROR L107: ADDRESS SPACE OVERFLOW。
地址溢出
对此,该数组若无必要定义这么大,则可直接删掉多余部分,使其在可存储范围内;
或者更改模式,在工具栏点击魔法棒,进入选择target栏,然后更改 memory model处模式,将 Small:variables in DATA更改为 Large:variables in DATA模式,这就增加了空间的大小,使原溢出报错的变量可正常存储。Keil中C代码常见错误的解决

(2)函数中定义的变量必须放在的最前面,不然在调用时会找不到所定义的变量。
2.无符号字符型数值变量以整型输出时必须先强制转换为整型
无符号字符型直接以整型打印输出时所输出的数值会变成原想要值的257倍,只有强制转换后才可正常输出,如:unsigned char cc=1;
printf(“cc = %d\n”,(int)cc);
3.NRF24L01.c(288): warning C294: unreachable code
该警告意为在288行处的代码永远不会被执行,这是因代码逻辑有问题导致的,可通过检查语句的排列或判断的条件进行修改,如执行while(1>2);此句就会产生如上警告。
4. error C279: ‘table4’: multiple initialization
该错指多重初始化,同重复定义,都是定义了两个同名的变量或函数,解决方法就是去掉其中一个或改变其命名。