CN116804942B - 一种基于事件驱动的单片机操作系统实现方法 - Google Patents
一种基于事件驱动的单片机操作系统实现方法 Download PDFInfo
- Publication number
- CN116804942B CN116804942B CN202310763759.4A CN202310763759A CN116804942B CN 116804942 B CN116804942 B CN 116804942B CN 202310763759 A CN202310763759 A CN 202310763759A CN 116804942 B CN116804942 B CN 116804942B
- Authority
- CN
- China
- Prior art keywords
- event
- callback function
- processed
- operating system
- driving table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006870 function Effects 0.000 claims abstract description 115
- 238000012545 processing Methods 0.000 claims abstract description 29
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012546 transfer Methods 0.000 claims description 11
- 238000011161 development Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 abstract description 10
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Abstract
本发明提出一种基于事件驱动的单片机操作系统实现方法,涉及单片机操作系统的技术领域,首先申请用于保存事件驱动表动态内存,并注册事件驱动表,然后获取单片机操作系统中待处理事件的事件信息,如果待处理事件为有效事件,则查找事件驱动表中事件编号对应的事件回调函数,调用对应的事件回调函数进行处理,再通过判断待处理事件是否为异步事件,来决定是否需要等待事件回调函数处理事件结束才进行下一个待处理事件的触发;本发明提供了一种灵活统一的系统架构,有效防止任务处理过程机械化,保证了任务响应实时性,提高了系统处理效率,从而指导用户对单片机软件进行开发。
Description
技术领域
本发明涉及单片机操作系统的技术领域,特别涉及一种基于事件驱动的单片机操作系统实现方法。
背景技术
单片机的嵌入式系统在各种智能化装备和设备中得到了广泛的应用,由于单片机性能和功能要求越来越高,因而需要一个相应的单片机操作系统来管理和控制单片机各个部件的协调工作。
单片机操作系统是指在单片机上运行的一种操作系统,主要作用是管理和控制单片机的各个软件和硬件模块,协调各个任务的调度与处理,提高单片机的运行效率和性能,并且能够方便地与外部设备进行数据交换和通信。随着计算机技术水平的提高,单片机系统可以精简、紧凑地设计;可以根据任务的优先级、时序关系等灵活地进行调度和控制;可以应用于不同类型的单片机上,满足各种应用场景的需求。现有技术公开了一种单片机操作系统实现方法,首先定义了消息结构类型和消息结构类型的数组作为消息队列;然后设计了消息存取函数实现消息队列的先进先出功能;最后主函数无限循环读取消息,并根据消息值调用相应的任务处理函数,待任务处理函数返回后进行下一次循环,但该方法是对消息队列的存入,再对存入的消息先入先出地进行处理,先存入的消息先被执行,后存入的消息则需等待先存入的消息执行后再进行处理,任务处理过程较为机械化,处理灵活性差,且难以实时对存入的消息进行立即处理,任务响应实时性差,导致系统处理效率低。
发明内容
为解决在当前单片机操作系统实现方法中,任务处理过程机械化,响应实时性差,导致系统处理效率低的问题,本发明提出了一种基于事件驱动的单片机操作系统实现方法,提供了一种灵活统一的系统架构,有效防止任务处理过程机械化,保证了任务响应实时性,提高了系统处理效率,从而指导用户对单片机软件进行开发。
为了达到上述技术效果,本发明的技术方案如下:
一种基于事件驱动的单片机操作系统实现方法,包括以下步骤:
S1.在单片机的随机存取存储器上申请用于保存事件驱动表的动态内存;
S2.对动态内存中的事件驱动表进行注册,得到注册有事件编号和事件编号对应的事件回调函数信息的事件驱动表;
S3.利用主函数获取单片机操作系统中待处理事件的事件信息,所述事件信息包含事件编号和若干个事件参数;
S4.判断所述待处理事件是否为有效事件,若是,执行步骤S5;否则,返回步骤S3;
S5.基于事件编号,查找所述事件驱动表中事件编号对应的事件回调函数,并调用回调函数指针将所述事件参数传入所述事件回调函数;
S6.调用所述事件回调函数对待处理事件进行处理,判断待处理事件是否为异步事件;若是,无需等待事件回调函数对待处理事件处理的结果反馈,直接进行下一个待处理事件的触发,返回步骤S3;否则,待事件回调函数处理事件结束,执行步骤S7;
S7.判断单片机操作系统是否接收到事件回调函数处理事件结束的信息,若是,直接进行下一个待处理事件的触发,返回步骤S3;否则,释放所述动态内存。
优选地,采用malloc函数在单片机的随机存取存储器上申请用于保存事件驱动表的动态内存。
优选地,定义所述事件驱动表的结构体带有两个元素,其中一个元素表示事件编号;另一个元素表示回调函数指针,所述回调函数指针指向事件对应的事件回调函数。
优选地,所述事件编号为一个字节的变量。
优选地,所述对动态内存中的事件驱动表进行注册,具体包括:
S21.将所述动态内存中的事件驱动表划分为两列;
S22.在事件驱动表的其中一列填入事件编号,在事件驱动表的另一列填入事件编号对应的事件回调函数。
优选地,所述待处理事件包括按下按钮、读取传感器和发送串口信息。
优选地,若待处理事件不需要事件参数,则传入所述事件回调函数的事件参数为0。
优选地,若待处理事件为按下按钮的事件,则定义按下按钮的事件编号为1,基于事件编号1,查找所述事件驱动表中事件编号1对应的事件回调函数KeyPressEvent,并调用回调函数指针将按下按钮的两个事件参数传入事件编号1对应的事件回调函数KeyPressEvent;若待处理事件为读取传感器的事件,则定义读取传感器的事件编号为2,基于事件编号2,查找所述事件驱动表中事件编号2对应的事件回调函数ReadTempEvent,并调用回调函数指针将读取传感器的两个事件参数传入事件编号2对应的事件回调函数ReadTempEvent;若待处理事件为发送串口信息的事件,则定义发送串口信息的事件编号为3,基于事件编号3,查找所述事件驱动表中事件编号3对应的事件回调函数SendDataEvent,并调用回调函数指针将发送串口信息的两个事件参数传入事件编号3对应的事件回调函数SendDataEvent。
优选地,若需要等待事件处理结束后才开始处理下一个事件,则待处理事件为非异步事件;否则,待处理事件为异步事件。
优选地,所述方法采用C语言编写程序代码,在VR Studio的开发环境下进行编译生成hex二进制执行文件。
与现有技术相比,本发明技术方案的有益效果是:
本发明提出一种基于事件驱动的单片机操作系统实现方法,首先在单片机的随机存取存储器上申请动态内存,用于保存事件驱动表,对动态内存中的事件驱动表进行注册,然后获取单片机操作系统中待处理事件的事件信息,如果待处理事件为有效事件,则查找事件驱动表中事件编号对应的事件回调函数,并传入事件参数,调用对应的事件回调函数进行处理,并通过判断待处理事件是否为异步事件,来决定是否需要等待事件回调函数处理事件结束才进行下一个待处理事件的触发;本发明采用了内存换时间的方式,提高了单片机系统响应事件的速度,满足高实时性响应要求高的应用环境,并提供了灵活统一的系统架构,有效防止任务处理过程机械化,保证了任务响应实时性的同时提高了系统处理效率,从而指导用户对单片机软件进行开发。
附图说明
图1表示本发明实施例中提出的一种基于事件驱动的单片机操作系统实现方法的流程示意图;
图2表示本发明实施例中提出的事件驱动表的注册流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸,“上”“下”等部位方向的描述非对本专利的限制;
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,本发明提出了一种基于事件驱动的单片机操作系统实现方法,所述方法采用C语言编写程序代码,在VR Studio的开发环境下进行编译生成hex二进制执行文件,包括以下步骤:
S1.在单片机的随机存取存储器上申请用于保存事件驱动表的动态内存;
众所周知,单片机的程序存储空间和数据存储空间虽然相对匮乏,但本实施例单片机系统处理的信息的复杂度较低,量不大,在步骤S1中,可以在单片机的随机存取存储器上动态申请一块内存用于事件驱动表,以实现快速响应用户操作或信号事件的触发;并采用malloc函数在单片机的随机存取存储器上申请用于保存事件驱动表的动态内存,其保存在随机存取存储器中能被更快速地访问;
malloc函数申请的动态内存保存在堆中,堆是一种动态分配内存的方式,它向内存地址高地址方向生长,能够为系统运行时需要动态分配的内存提供支持,malloc函数自动指定起始地址为全局变量及预赋值变量后面;当malloc函数不再需要在堆中分配的内存时,必须手动释放内存空间,否则就会出现内存泄漏,即该内存空间将一直保留在堆中占用内存,而且在malloc函数执行结束后仍然存在,因此,释放堆中的内存空间是十分重要和必要的,释放堆中的内存空间可以通过调用free函数来释放在堆中分配的内存空间。
S2.对动态内存中的事件驱动表进行注册,得到注册有事件编号和事件编号对应的事件回调函数信息的事件驱动表;
S3.利用主函数获取单片机操作系统中待处理事件的事件信息,所述事件信息包含事件编号和若干个事件参数;
S4.判断所述待处理事件是否为有效事件,若是,执行步骤S5;否则,返回步骤S3;
S5.基于事件编号,查找所述事件驱动表中事件编号对应的事件回调函数,并调用回调函数指针将所述事件参数传入所述事件回调函数;
S6.调用所述事件回调函数对待处理事件进行处理,判断待处理事件是否为异步事件;若是,无需等待事件回调函数对待处理事件处理的结果反馈,直接进行下一个待处理事件的触发,返回步骤S3;否则,待事件回调函数处理事件结束,执行步骤S7;
在步骤S6中,若需要等待事件处理结束后才开始处理下一个事件,则待处理事件为非异步事件;否则,待处理事件为异步事件。
S7.判断单片机操作系统是否接收到事件回调函数处理事件结束的信息,若是,直接进行下一个待处理事件的触发,返回步骤S3;否则,释放所述动态内存。
在本实施例中,首先在单片机的随机存取存储器上申请动态内存,用于保存事件驱动表,对动态内存中的事件驱动表进行注册,然后获取单片机操作系统中待处理事件的事件信息,如果待处理事件为有效事件,则查找事件驱动表中事件编号对应的事件回调函数,并传入事件参数,调用对应的事件回调函数进行处理,并通过判断待处理事件是否为异步事件,来决定是否需要等待事件回调函数处理事件结束才进行下一个待处理事件的触发;本发明采用了内存换时间的方式,提高了单片机系统响应事件的速度,满足高实时性响应要求高的应用环境,并提供了灵活统一的系统架构,提高系统架构可维护性,规范系统架构编写风格,有效防止任务处理过程机械化,保证了任务响应实时性的同时提高了系统处理效率,从而指导用户对单片机软件进行开发,提高单片机软件开发效率。
实施例2
本实施例对事件驱动表的结构体做进一步的说明,事件驱动表是一个数据结构,存储单片机操作系统中各种待处理事件的相关信息,可以理解为单片机操作系统中的一个待处理事件与其对应事件回调函数的映射表,其作用是方便单片机操作系统管理各种待处理事件,快速定位待处理事件对应的事件回调函数。表1为未注册的事件驱动表,参见表1,定义所述事件驱动表的结构体带有两个元素,其中一个元素为一个字节的变量,表示事件编号,事件编号是一个标识一个特定事件的数值,不同的事件对应不同的编号,其作用是在系统中区分不同的待处理事件,方便单片机操作系统管理和定位对应的事件回调函数。另一个元素表示回调函数指针,所述回调函数指针指向事件对应的事件回调函数,该事件回调函数将在特定事件发生时被调用,回调函数指针作用是将事件处理的任务从主函数中分离出来,便于单片机操作系统管理和维护,同时提高了代码的可读性和可维护性,不同事件的事件参数个数不一样,如0个事件参数或1个事件参数或2个事件参数,本实施例选定的事件回调函数被定义为带两个事件参数。
表1未注册的事件驱动表
事件编号 | 事件回调函数 |
参见图2,所述对动态内存中的事件驱动表进行注册,具体包括:
S21.将所述动态内存中的事件驱动表划分为两列;
S22.在事件驱动表的其中一列填入事件编号,在事件驱动表的另一列填入事件编号对应的事件回调函数。
将动态内存中的事件驱动表的表模用代码的形式表达如下:
上述代码实现了定义了一个表,表由两列组成,一列名为“事件编号”,另一列名为“回调函数”,即事件的功能代码段的起始位置,且规定调用回调函数指针需要传入两个事件参数。
实施例3
本实施例对所述事件驱动表的作用进行进一步说明;事件回调函数理解为实现功能的代码段起始的地址(位置),调用回调函数指针是代码从当前地址(位置)跳转到实现功能的代码段起始的地址(位置)并执行代码段;事件驱动表划分为两列,一列填入事件编号,另一列填入事件编号对应的事件回调函数,单片机操作系统中待处理事件的事件信息包含事件编号和两个个事件参数,所述待处理事件包括按下按钮、读取传感器和发送串口信息,若待处理事件不需要事件参数,则传入所述事件回调函数的事件参数为0。
参见表2,若待处理事件为按下按钮的事件,则定义按下按钮的事件编号为1,当单片机操作系统接收到事件编号1的按下按钮事件,且按钮序号为KeyIndex,基于事件编号1,单片机操作系统就会在事件驱动表中查找事件编号为1的名称为KeyPressEvent的事件回调函数,并调用回调函数指针将按下按钮的两个事件参数传入事件编号1对应的事件回调函数KeyPressEvent,一个事件参数表示被按下命名为KeyIndex按钮的序号,另一个事件参数表示0,代码表示为KeyPressEvent(KeyIndex,0),说明按下按钮的事件只需要一个事件参数,不需要的另一个事件参数为0;
若待处理事件为读取传感器的事件,则定义读取传感器的事件编号为2,当单片机操作系统接收到事件编号2的读取传感器事件,单片机操作系统就会在事件驱动表中查找事件编号为1的名称为KeyPressEvent的事件回调函数,基于事件编号2,单片机操作系统就会在事件驱动表中查找事件编号为2的名称为ReadTempEvent的事件回调函数,并调用回调函数指针将读取传感器的两个事件参数传入事件编号2对应的事件回调函数ReadTempEvent;
若待处理事件为发送串口信息的事件,则定义发送串口信息的事件编号为3,当单片机操作系统接收到事件编号3的发送串口信息事件,单片机操作系统就会在事件驱动表中查找事件编号为3的名称为SendDataEvent的事件回调函数,基于事件编号3,查找所述事件驱动表中事件编号3对应的事件回调函SendDataEvent,并调用回调函数指针将发送串口信息的两个事件参数传入事件编号3对应的事件回调函数SendDataEvent。
表2注册的事件驱动表
事件编号 | 事件回调函数 |
1(表示按下按钮事件) | 事件回调函数1(名称KeyPressEvent) |
2(表示读取传感器事件) | 事件回调函数2(名称为ReadTempEvent) |
3(表示发送串口信息事件) | 事件回调函数3(名称为SendDataEvent) |
4..... | ...... |
需要特别说明的是,在实际处理过程中,单片机操作系统中待处理事件包括但并不局限于上述按下按钮、读取传感器和发送串口信息事件,即还包括了其他待处理事件,本实施例仅以一个优先的实施例进行举例说明,同时对待处理事件的事件编号包括但并不局限上述事件编号1的按下按钮事件、事件编号2的读取传感器事件、事件编号3的发送串口信息事件等,可以是事件编号1的读取传感器事件、事件编号2的按下按钮事件、事件编号3的发送串口信息事件等,可以是事件编号1的发送串口信息事件、事件编号2的按下按钮事件、事件编号3的读取传感器事件等。
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
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。
2.根据权利要求1所述的基于事件驱动的单片机操作系统实现方法,其特征在于,定义所述事件驱动表的结构体带有两个元素,其中一个元素表示事件编号;另一个元素表示回调函数指针,所述回调函数指针指向事件对应的事件回调函数。
3.根据权利要求2所述的基于事件驱动的单片机操作系统实现方法,其特征在于,所述事件编号为一个字节的变量。
4.根据权利要求3所述的基于事件驱动的单片机操作系统实现方法,其特征在于,所述对动态内存中的事件驱动表进行注册,具体包括:
S21.将所述动态内存中的事件驱动表划分为两列;
S22.在事件驱动表的其中一列填入事件编号,在事件驱动表的另一列填入事件编号对应的事件回调函数。
5.根据权利要求1所述的基于事件驱动的单片机操作系统实现方法,其特征在于,若需要等待事件处理结束后才开始处理下一个事件,则待处理事件为非异步事件;否则,待处理事件为异步事件。
6.根据权利要求1-5任一项所述的基于事件驱动的单片机操作系统实现方法,其特征在于,所述方法采用C语言编写程序代码,在VR Studio的开发环境下进行编译生成hex二进制执行文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310763759.4A CN116804942B (zh) | 2023-06-26 | 2023-06-26 | 一种基于事件驱动的单片机操作系统实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310763759.4A CN116804942B (zh) | 2023-06-26 | 2023-06-26 | 一种基于事件驱动的单片机操作系统实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116804942A CN116804942A (zh) | 2023-09-26 |
CN116804942B true CN116804942B (zh) | 2024-04-02 |
Family
ID=88080515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310763759.4A Active CN116804942B (zh) | 2023-06-26 | 2023-06-26 | 一种基于事件驱动的单片机操作系统实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116804942B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520928A (zh) * | 2009-03-27 | 2009-09-02 | 山东大学 | 一种固网支付终端及其运行方法 |
CN110166730A (zh) * | 2019-06-06 | 2019-08-23 | 苏州科达科技股份有限公司 | 一种请求处理方法、装置、设备及可读存储介质 |
CN110888729A (zh) * | 2019-12-05 | 2020-03-17 | 深圳市七星石科技有限公司 | 一种基于任务事件的异步多任务处理系统 |
CN113946420A (zh) * | 2021-10-09 | 2022-01-18 | 中国科学院计算技术研究所 | 一种用于提供物联网运行环境的方法和系统 |
CN115599714A (zh) * | 2022-09-28 | 2023-01-13 | 武汉中海庭数据技术有限公司(Cn) | 一种多线程同步的车端数据采集方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019903B (zh) * | 2013-01-18 | 2014-11-26 | 哈尔滨工业大学 | 嵌入式设备能耗仿真评测系统 |
-
2023
- 2023-06-26 CN CN202310763759.4A patent/CN116804942B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520928A (zh) * | 2009-03-27 | 2009-09-02 | 山东大学 | 一种固网支付终端及其运行方法 |
CN110166730A (zh) * | 2019-06-06 | 2019-08-23 | 苏州科达科技股份有限公司 | 一种请求处理方法、装置、设备及可读存储介质 |
CN110888729A (zh) * | 2019-12-05 | 2020-03-17 | 深圳市七星石科技有限公司 | 一种基于任务事件的异步多任务处理系统 |
CN113946420A (zh) * | 2021-10-09 | 2022-01-18 | 中国科学院计算技术研究所 | 一种用于提供物联网运行环境的方法和系统 |
CN115599714A (zh) * | 2022-09-28 | 2023-01-13 | 武汉中海庭数据技术有限公司(Cn) | 一种多线程同步的车端数据采集方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116804942A (zh) | 2023-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1143210C (zh) | 动态去最佳化编译启动的方法和装置 | |
EP0371941A2 (en) | Generic application programming interface system and method | |
TW201833792A (zh) | 用戶介面渲染方法及裝置 | |
CN102667714B (zh) | 支持访问由操作系统环境外的资源提供的功能的方法和系统 | |
EP0474436A2 (en) | Method for communications between processors of a multi-processor system | |
EP0374338A1 (en) | Shared intelligent memory for the interconnection of distributed micro processors | |
CN112685148A (zh) | 海量终端的异步通信方法、装置、计算机设备和存储介质 | |
KR100678930B1 (ko) | 디지털 시그널 프로세서를 위한 실시간 제어 시스템 | |
US6986147B2 (en) | Method for transparent, location-independent, remote procedure calls in a heterogeneous network environment | |
US11880298B2 (en) | Allocation of memory within a data type-specific memory heap | |
CN116804942B (zh) | 一种基于事件驱动的单片机操作系统实现方法 | |
CN116932175B (zh) | 一种基于序列生成的异构芯片任务调度方法以及装置 | |
CN109819674B (zh) | 计算机存储介质、嵌入式调度方法及系统 | |
US4445190A (en) | Program identification encoding | |
CN109800038B (zh) | 一种stk菜单的实现方法、装置 | |
CN108874560B (zh) | 进行通信的方法和通信设备 | |
CN108958905B (zh) | 嵌入式多核中央处理器的轻量级操作系统 | |
CN108958904B (zh) | 嵌入式多核中央处理器的轻量级操作系统的驱动程序框架 | |
US6904601B1 (en) | Method and system for providing remote procedure calls in a multiprocessing system | |
JPS583177A (ja) | デ−タ処理方式 | |
CN112395083B (zh) | 一种资源文件的释放方法、装置和计算机可读存储介质 | |
CN113835989A (zh) | 一种性能统计方法和装置 | |
CN116662248A (zh) | 多cpu通信系统和方法、电子设备、存储介质 | |
CN113867991A (zh) | 一种基于信号槽的线程间的事件处理方法、装置及存储介质 | |
CN117931855A (zh) | 基于结构化查询语言的数据查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |