主函数顺序调用结构的特点-张孝祥java就业培训教程(带完整目录高清扫描版)

时间:2024-06-27 18:04:19
【文件属性】:

文件名称:主函数顺序调用结构的特点-张孝祥java就业培训教程(带完整目录高清扫描版)

文件大小:1007KB

文件格式:PDF

更新时间:2024-06-27 18:04:19

单片机 操作系统

1.1 主函数顺序调用的一般结构 这种结构基本上都是在main函数开始完成一些初始化,然后在主循环里周期性地调用一 些函数: void main() { /*模块初始化*/ while(1) { Fun1(); Fun2(); …… } } 在初学单片机时,大部分精力都放在单片机和各个模块的驱动上,所以在开始相当长的 一段时间里采用的都是这种程序结构。 而 Fun1、Fun2……这些函数完成的功能也都是比较简单的,每个函数完成一个简单的 小功能,然后顺序执行就可以组合完成某个功能。 需要强调的是,这些函数虽然功能简单,但是占用 CPU 资源不一定少,比如最简单的 一个独立按键扫描程序: sbit key=P1^0; unsigned char keyscan() //返回0代表按下,1代表没按下 { if(key==0) //说明按键按下 { delay5(1); //延时5ms去抖 if(key==0) //确认按键按下 { while(key==0);//等待按键释放 return 0; } } return 1; } 注意到这个程序里有一个 5ms 延时函数,在延时的这段时间里单片机运行一些无意义 的指令消耗时间。在此期间其他任务得不到运行,整个进程阻塞在延时函数这个地方。并且, 如果按键一直按下没有释放的话,程序将停留在 while(key==0); 处。 1.2 主函数顺序调用结构的特点 首先,正如它的名称是“顺序调用”,任务之间的运行顺序是固定不变的,当然不可能 有优先级区别,它只适合完成那些周期性循环的工作。不管它是不是缺点,总之这是第一点。 2


网友评论