本帖最后由 skw168 于 2019-6-1 10:16 编辑
总结下Keil C使用心得和遇到过的坑
1.Keil C内部延时函数直接调用库函数:
#include<intrins.h> // 声明了void _nop_(void);
_nop_(); // 产生一条NOP指令
NOP指令为单周期指令
//
2.keil C中定义bit变量是有上限的,
查询资料是128个,实际使用时确实遇到过这个问题,多一个变量则编译器则会报错
解决办法:将bit 定义为 char
//
3.Keil C的data,xdata区别
data:内部低128字节RAM,可高速寻址
Xdata:外部扩展RAM,寻址速度较慢
PS:优先使用data,因为速度快,代码空间少( keil中定义变量时使用 idata unsigned char)
//
4.Keil C常量数组的定义(汇编理解的表格)
共2种方式:
const unsigned char tab[] = { };
数组为只读,存放在RAM中;
code unsigned char tab[] = { };
数组为只读,存放在ROM中;
//
|