西安电子科技大学计算机学院 * 谢谢! * 西安电子科技大学计算机学院 * 前后台程序的编写原则 消除阻塞 任何一个任务都不能阻塞CPU 可以用节拍的方式实现定时、延时等时间相关的操作 消除前后台之间的直接关联性 使用缓冲区 函数重入 前后台程序重叠调用同一函数 临界代码(不可分割代码) 例如关中断 西安电子科技大学计算机学院 * 2.2.2 事件触发结构 状态机 软件工程中一种极其有效的软件建模方式 不同于流程图,可以描述软件并发行为 基于状态机的程序建模 正传状态 暂停2 暂停1 反传状态 2S定时到 2S定时到 1S定时到 1S定时到 西安电子科技大学计算机学院 * 按键 未按下 短按状态 长按状态 键按下 按键释放/短键入FIFO 2S定时到 首次长键入FIFO 按键释放 0.25S定时到 连续长键入FIFO 西安电子科技大学计算机学院 * 通过状态转移图生成代码 在状态中判断事件(事件查询) 在当前状态下,根据不同的事件执行不同的功能(动作) 再做状态转移 在事件中判断状态(事件触发) 在每个事件的中断(或查询到事件发生)函数内,判断当前状态 根据当前状态执行不同动作 做相应状态转移 2.2.3 操作系统 嵌入式领域中,操作系统最最重要的作用是实现多任务运行 系统根据一定的规则使用CPU(中央处理单元)在多个任务之间转换、调度 应用程序被分解成多个任务 任务间的通信、同步
原创力文档

文档评论(0)