- volatile关键字
当需要在中断服务子程序中修改某个全局变量时,改全局变量建议定义时加上volatile。
比如:
volatile bool wqj_flag=0;
int main()
{
while(1)
{
if(wqj_flag)
{
wqj_flag=false;
//do something
}
}
return 0;
}
xxx_handler()
{
wqj_flag=true;
}
2.位操纵
举个例子
struct wqj
{
char w:2;
char q:3;
char j:3;
};
这样定义可节省一些内存,这个结构体占用8Bit的空间。
3.注意#define和typedef,#define和const,#define和inline;
在定义数据类型和常数时尽量不要使用#define,小的函数也不推荐使用#define。总之就是尽量不使用#define。
4.中断处理程序尽可能短。