预备知识:
(1)volatile关键字:
volatile定义的变量一般为无需开发者自己赋值,会自动改变的变量。
在普通的程序中,编译器都具有优化功能,为了避免浪费计算机资源,会将重复或无用的语句删除。
大家观察下面一段代码。
//code1:
double gpio_input = 0;
printf("The GPIO Input1 is %f", gpio_input);
/*
光照传感器开始读取光照数据,并赋值给gpio_input
*/
printf("The GPIO Input2 is %f", gpio_input);
//code2:
volatile double gpio_input = 0;
printf("The GPIO Input1 is %f", gpio_input);
/*
光照传感器开始读取光照数据,并赋值给gpio_input
*/
printf("The GPIO Input2 is %f", gpio_input);
|