LPC学习笔记----事件池的使用

概述

事件池的作用类似于建造一个队列函数,只不过其主要作用是用于方便根据事件优先级来执行命令,方便单片机能去处理一些优先级较高的动作.就像是在飞机登机口登机一样,本来大家陆陆续续的排队准备登机,有快要起飞的或者军人孕妇,就让他们优先进入.

其主要原理是构建一个结构体(池)来储存命令(事件),根据命令的优先级将其用指针放入不同的执行函数.具体的用法则是将执行函数置于主循环中不断循环,通过外部中断的操作来为事件池添加新的事件.

事件池工作的主要流程:首先,往“队列”里面按顺序装入一堆事件(事件函数),当主函数在执行Event_Proc_PoriLow( );事件处理函数时,查询到“队列”里存放了事件,则开始从最先存放进去的事件开始执行。执行完事件1后,再执行事件2…直到里面没有没有事件。
在这里插入图片描述

初始化

建立一个Event.h文件,确定事件池的最大范围
同时建立三个结构体,每一个都被向下包含:
Event_Para_t(用于储存一个事件的指针参数的地址)
Event_Para_t Para(用于储存一个事件的状态包括:执行函数的地址\是否使用的状态\以及其储存位置的指针参数)
Event_Admin_t(用于管理事件的管理结构,用于储存事件池的最大范围\当前事件池的事

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值