买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于事件驱动的单片机操作系统实现方法_广东凯普科技智造有限公司;广州凯普生物科技有限公司;广东凯普生物科技股份有限公司_202310763759.4 

申请/专利权人:广东凯普科技智造有限公司;广州凯普生物科技有限公司;广东凯普生物科技股份有限公司

申请日:2023-06-26

公开(公告)日:2024-04-02

公开(公告)号:CN116804942B

主分类号:G06F9/48

分类号:G06F9/48;G05B19/042;G06F9/50

优先权:

专利状态码:有效-授权

法律状态:2024.04.02#授权;2023.10.17#实质审查的生效;2023.09.26#公开

摘要:本发明提出一种基于事件驱动的单片机操作系统实现方法,涉及单片机操作系统的技术领域,首先申请用于保存事件驱动表动态内存,并注册事件驱动表,然后获取单片机操作系统中待处理事件的事件信息,如果待处理事件为有效事件,则查找事件驱动表中事件编号对应的事件回调函数,调用对应的事件回调函数进行处理,再通过判断待处理事件是否为异步事件,来决定是否需要等待事件回调函数处理事件结束才进行下一个待处理事件的触发;本发明提供了一种灵活统一的系统架构,有效防止任务处理过程机械化,保证了任务响应实时性,提高了系统处理效率,从而指导用户对单片机软件进行开发。

主权项:1.一种基于事件驱动的单片机操作系统实现方法,其特征在于,包括以下步骤:S1.在单片机的随机存取存储器上申请用于保存事件驱动表的动态内存;S2.对动态内存中的事件驱动表进行注册,得到注册有事件编号和事件编号对应的事件回调函数信息的事件驱动表;S3.利用主函数获取单片机操作系统中待处理事件的事件信息,所述事件信息包含事件编号和若干个事件参数;S4.判断所述待处理事件是否为有效事件,若是,执行步骤S5;否则,返回步骤S3;S5.基于事件编号,查找所述事件驱动表中事件编号对应的事件回调函数,并调用回调函数指针将所述事件参数传入所述事件回调函数,事件回调函数被定义为带两个事件参数,若待处理事件不需要事件参数,则传入所述事件回调函数的事件参数为0;S6.调用所述事件回调函数对待处理事件进行处理,判断待处理事件是否为异步事件;若是,无需等待事件回调函数对待处理事件处理的结果反馈,直接进行下一个待处理事件的触发,返回步骤S3;否则,待事件回调函数处理事件结束,执行步骤S7;S7.判断单片机操作系统是否接收到事件回调函数处理事件结束的信息,若是,直接进行下一个待处理事件的触发,返回步骤S3;否则,释放所述动态内存;其中,采用malloc函数在单片机的随机存取存储器上申请用于保存事件驱动表的动态内存;所述待处理事件包括按下按钮、读取传感器和发送串口信息;若待处理事件为按下按钮的事件,则定义按下按钮的事件编号为1,基于事件编号1,查找所述事件驱动表中事件编号1对应的事件回调函数KeyPressEvent,并调用回调函数指针将按下按钮的两个事件参数传入事件编号1对应的事件回调函数KeyPressEvent;一个事件参数表示被按下命名为KeyIndex按钮的序号,另一个事件参数表示0;若待处理事件为读取传感器的事件,则定义读取传感器的事件编号为2,基于事件编号2,查找所述事件驱动表中事件编号2对应的事件回调函数ReadTempEvent,并调用回调函数指针将读取传感器的两个事件参数传入事件编号2对应的事件回调函数ReadTempEvent;若待处理事件为发送串口信息的事件,则定义发送串口信息的事件编号为3,基于事件编号3,查找所述事件驱动表中事件编号3对应的事件回调函数SendDataEvent,并调用回调函数指针将发送串口信息的两个事件参数传入事件编号3对应的事件回调函数SendDataEvent。

全文数据:

权利要求:

百度查询: 广东凯普科技智造有限公司;广州凯普生物科技有限公司;广东凯普生物科技股份有限公司 一种基于事件驱动的单片机操作系统实现方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。