599
109
初级会员
word格式文档、stm32工程模板源码下载
stm32 ucos新建工程模板.zip (581.42 KB, 下载次数: 0, 售价: 2 金币) 2020-6-28 17:45 上传 点击文件名下载附件 STM32之uCOS-II基础、移植、创建任务.docx (1000.62 KB, 下载次数: 0, 售价: 2 金币) 2020-6-28 17:45 上传 点击文件名下载附件 uCOS-II源码.zip (94.6 KB, 下载次数: 0) 2020-6-28 17:45 上传 点击文件名下载附件 5.1 uCOS-II操作系统5.1.1 什么是操作系统 《1》管理软件硬件的程序集合。 《2》软硬件的沟通桥梁。 举个栗子:当你要播放音乐时,假设是电脑,装的是Window操作系统,步骤如下:打开酷狗音乐软件找需要播放的歌曲点击播放 这时,你就能听到优美动听的歌曲了。但底层操作是如何操作的呢?是谁操作呢?是操作系统帮你完成了这一切工作。当你点击播放,操作系统工作流程如下:当你点击播放按钮,操作系统读取你需要播放歌曲的源文件(mp3文件)操作系统调用音乐解析驱动,解析你的mp3文件,转成播放器(喇叭)认识的二进制文件。操作系统把解析好音乐的二进制文件,发送给播放器(硬件设备),若此时音乐播放器,一切都准备就绪了,就可以播放音乐了。 总结,对硬件的操作,由操作系统来完成,操作系统直接与硬件交互。用户如果想控制底层硬件,必须经过操作系统进行间接控制,操作系统提供系统调用给用户,用户就可以与硬件交互了。系统调用是封装了操作各部分硬件的API。 5.1.2 为什么要使用操作系统 《1》屏蔽硬件。使应用程序不依赖硬件,提高了程序的可移植性。 《2》多任务。因为消费者想同时聊QQ、聊、看电视剧等。早期单核CPU想完成这些功能,就需要使用操作系统,实现不同任务之间高速的切换。 5.1.3 操作系统分类 《1》分时操作系统:以时间片为基本调度原则。给每个任务分配一段固定的CPU时间,时间到就切换下一个任务,时间不到不切换任务。如:Windows—95/98,Linux内核2.6以前。 《2》实时操作系统:以优先级为基本调度原则。不是给每个任务分配一段固定的CPU时间,而是根据优先级分配CPU执行时间,谁优先级高,先执行谁,分配的CPU时间就多,如uCOS-II。 《3》半实时操作系统:部分使用分时操作系统、部分使用实时操作系统。如Windows----7/8/10,Linux内核2.6以后。 5.1.3 为何学uCOS-II《1》代码量少,容易上手。《2》多任务,实现复杂功能《3》提高内外功(内功:阅读代码能力 外功:编程能力)《4》为学习其他操作系统打下基础 5.1.4 其他补充学操作系统的难点《1》逻辑理解、代码运行流程《2》术语的理解、领悟uCOS-II理解u---微型C---控制器 OS—操作系统UCOS-II代码来源《1》官网《2》示例代码 5.2 UCOS操作系统5.2.1 操作系统的调度原则《1》分时操作系统调度原则:以时间片为基本调度原则,为每个任务分配固定的CPU执行时间,时间到,切换下一个任务,时间不到,不切换任务。《2》实时操作系统调度原则以优先级为基本调度原则,不是固定为每个任务分配CPU执行时间,而是根据优先级高低分配CPU时间,优先级低的分配CPU执行时间就短,优先级高的分配的CPU时间就长。 5.2.2 操作系统程序结构《1》裸机代码整个工程只有一个main函数,在main函数执行中只有一个真正意义上的死循环,其他死循环都是有退出条件或永远不会执行了的死循环。《2》操作系统代码整个工程只有一个main函数,在mian函数中,至少创建一个任务,每个任务都有一个死循环。操作系统要切换任务需要高优先级任务释放CPU使用权。 5.2.3操作系统的任务结构《1》任务的构成:任务控制块,任务函数、任务优先级、任务栈。《2》 任务控制块:任务先内存空间申请的一块内存空间,用于执行任务使用的,任务控制块包含、任务函数、任务优先级、任务栈。《3》任务函数:任务的执行入口,任务的具体功能在这里实现。《4》任务优先级:任务的能执行的唯一标识。用来规定任务的执行先后顺序。《5》任务栈:保存任务在切换过程中的现场信息。任务在切换前,把当前执行任务的现在信息保存在栈中,该过程称为压栈,当执行完其他任务完后,又切换回来,读取栈里面保存的现场信息,继续执行任务,该过程称为弹栈。 简单理解:在栈中进入一个元素,称为压栈或入栈,出来一个元素称为弹栈或出栈。5.2.4 操作系统的任务切换在哪些情况下,会进行任务切换?心跳节拍到达的时候会进行切换。心跳节拍来源于系统滴答时间,所以用Tick表示心跳节拍。调用任务调度函数。用操作系统内核进行调用。 5.2.5 操作系统的任务中断与裸机编程中断基本一致,但需要注意两点在操作系统的中断服务函数的第一句代码,调用一个函数,目的是告诉操作系统当前进入中断功能。在操作系统的中断服务函数的最后一句代码,调用一个函数,目的是告诉操作系统当前退出了中断功能。 裸机中断与ucos中断的深入理解裸机中断,中断后会返回原点,原点就是主栈。从中断栈切换回到主栈。ucos中断,中断后不一定返回原点,因为返回前有任务调度,如果中断完后,有任务优先级高过当前任务,当前任务就失去了CPU的使用权。 5.2.6 操作系统的任务状态《1》停止/休眠态:任务创建之前和删除之后的状态。《2》就绪态:任务具有了可执行条件。《3》运行态:任务得到了CPU的使用权。《4》等待/挂起态:任务被挂起或等待某件事情发生。《5》中断态:正在执行的任务,被中断了。任务状态转换关系如下图: 5.3 创建UCOS工程模板5.3.1 获取UCOS源码 官网太卡了,所以给你准备UCOS例程,如下。 5.3.2 UCOS过程文件分析 5.3.3 新建UCOS工程 5.3.4 创建一个任务 5.3.5 补充、小结移植Ucos-II总结:配置基本流程:《1》找到Ucos-II源码(来源:官网、例程、别人的代码、自己的代码)《2》添加到过程文件中,添加对应头文件《3》编写系统滴答定时器,开启中断模式《4》编写滴答中断服务函数《5》编写主函数主函数编写流程:系统滴答初始化串口初始化(用于调试)操作系统初始化创建任务启动操作系统实现任务函数 关于延时OSTimeDly(100);?一次系统滴答为5ms,所以写100,就是500ms。 关于任务函数OSTaskCreate(Task0,NULL,&stack0[TASK0_STK_SIZE-1],TASK0_PRI);?第一个参数为一个函数的名字(实现任务的函数的名字)传给实现任务函数的参数(形参)任务栈栈顶(高地址、数组最后一个元素)优先级(0-61中间的选一个,63留给了空闲任务、62留给了统计任务)
STM32之uCOS-II基础、移植、创建任务.docx (1000.62 KB, 下载次数: 0, 售价: 2 金币) 2020-6-28 17:45 上传 点击文件名下载附件 uCOS-II源码.zip (94.6 KB, 下载次数: 0) 2020-6-28 17:45 上传 点击文件名下载附件 5.1 uCOS-II操作系统5.1.1 什么是操作系统 《1》管理软件硬件的程序集合。 《2》软硬件的沟通桥梁。 举个栗子:当你要播放音乐时,假设是电脑,装的是Window操作系统,步骤如下:打开酷狗音乐软件找需要播放的歌曲点击播放 这时,你就能听到优美动听的歌曲了。但底层操作是如何操作的呢?是谁操作呢?是操作系统帮你完成了这一切工作。当你点击播放,操作系统工作流程如下:当你点击播放按钮,操作系统读取你需要播放歌曲的源文件(mp3文件)操作系统调用音乐解析驱动,解析你的mp3文件,转成播放器(喇叭)认识的二进制文件。操作系统把解析好音乐的二进制文件,发送给播放器(硬件设备),若此时音乐播放器,一切都准备就绪了,就可以播放音乐了。 总结,对硬件的操作,由操作系统来完成,操作系统直接与硬件交互。用户如果想控制底层硬件,必须经过操作系统进行间接控制,操作系统提供系统调用给用户,用户就可以与硬件交互了。系统调用是封装了操作各部分硬件的API。 5.1.2 为什么要使用操作系统 《1》屏蔽硬件。使应用程序不依赖硬件,提高了程序的可移植性。 《2》多任务。因为消费者想同时聊QQ、聊、看电视剧等。早期单核CPU想完成这些功能,就需要使用操作系统,实现不同任务之间高速的切换。 5.1.3 操作系统分类 《1》分时操作系统:以时间片为基本调度原则。给每个任务分配一段固定的CPU时间,时间到就切换下一个任务,时间不到不切换任务。如:Windows—95/98,Linux内核2.6以前。 《2》实时操作系统:以优先级为基本调度原则。不是给每个任务分配一段固定的CPU时间,而是根据优先级分配CPU执行时间,谁优先级高,先执行谁,分配的CPU时间就多,如uCOS-II。 《3》半实时操作系统:部分使用分时操作系统、部分使用实时操作系统。如Windows----7/8/10,Linux内核2.6以后。 5.1.3 为何学uCOS-II《1》代码量少,容易上手。《2》多任务,实现复杂功能《3》提高内外功(内功:阅读代码能力 外功:编程能力)《4》为学习其他操作系统打下基础 5.1.4 其他补充学操作系统的难点《1》逻辑理解、代码运行流程《2》术语的理解、领悟uCOS-II理解u---微型C---控制器 OS—操作系统UCOS-II代码来源《1》官网《2》示例代码 5.2 UCOS操作系统5.2.1 操作系统的调度原则《1》分时操作系统调度原则:以时间片为基本调度原则,为每个任务分配固定的CPU执行时间,时间到,切换下一个任务,时间不到,不切换任务。《2》实时操作系统调度原则以优先级为基本调度原则,不是固定为每个任务分配CPU执行时间,而是根据优先级高低分配CPU时间,优先级低的分配CPU执行时间就短,优先级高的分配的CPU时间就长。 5.2.2 操作系统程序结构《1》裸机代码整个工程只有一个main函数,在main函数执行中只有一个真正意义上的死循环,其他死循环都是有退出条件或永远不会执行了的死循环。《2》操作系统代码整个工程只有一个main函数,在mian函数中,至少创建一个任务,每个任务都有一个死循环。操作系统要切换任务需要高优先级任务释放CPU使用权。 5.2.3操作系统的任务结构《1》任务的构成:任务控制块,任务函数、任务优先级、任务栈。《2》 任务控制块:任务先内存空间申请的一块内存空间,用于执行任务使用的,任务控制块包含、任务函数、任务优先级、任务栈。《3》任务函数:任务的执行入口,任务的具体功能在这里实现。《4》任务优先级:任务的能执行的唯一标识。用来规定任务的执行先后顺序。《5》任务栈:保存任务在切换过程中的现场信息。任务在切换前,把当前执行任务的现在信息保存在栈中,该过程称为压栈,当执行完其他任务完后,又切换回来,读取栈里面保存的现场信息,继续执行任务,该过程称为弹栈。 简单理解:在栈中进入一个元素,称为压栈或入栈,出来一个元素称为弹栈或出栈。5.2.4 操作系统的任务切换在哪些情况下,会进行任务切换?心跳节拍到达的时候会进行切换。心跳节拍来源于系统滴答时间,所以用Tick表示心跳节拍。调用任务调度函数。用操作系统内核进行调用。 5.2.5 操作系统的任务中断与裸机编程中断基本一致,但需要注意两点在操作系统的中断服务函数的第一句代码,调用一个函数,目的是告诉操作系统当前进入中断功能。在操作系统的中断服务函数的最后一句代码,调用一个函数,目的是告诉操作系统当前退出了中断功能。 裸机中断与ucos中断的深入理解裸机中断,中断后会返回原点,原点就是主栈。从中断栈切换回到主栈。ucos中断,中断后不一定返回原点,因为返回前有任务调度,如果中断完后,有任务优先级高过当前任务,当前任务就失去了CPU的使用权。 5.2.6 操作系统的任务状态《1》停止/休眠态:任务创建之前和删除之后的状态。《2》就绪态:任务具有了可执行条件。《3》运行态:任务得到了CPU的使用权。《4》等待/挂起态:任务被挂起或等待某件事情发生。《5》中断态:正在执行的任务,被中断了。任务状态转换关系如下图: 5.3 创建UCOS工程模板5.3.1 获取UCOS源码 官网太卡了,所以给你准备UCOS例程,如下。 5.3.2 UCOS过程文件分析 5.3.3 新建UCOS工程 5.3.4 创建一个任务 5.3.5 补充、小结移植Ucos-II总结:配置基本流程:《1》找到Ucos-II源码(来源:官网、例程、别人的代码、自己的代码)《2》添加到过程文件中,添加对应头文件《3》编写系统滴答定时器,开启中断模式《4》编写滴答中断服务函数《5》编写主函数主函数编写流程:系统滴答初始化串口初始化(用于调试)操作系统初始化创建任务启动操作系统实现任务函数 关于延时OSTimeDly(100);?一次系统滴答为5ms,所以写100,就是500ms。 关于任务函数OSTaskCreate(Task0,NULL,&stack0[TASK0_STK_SIZE-1],TASK0_PRI);?第一个参数为一个函数的名字(实现任务的函数的名字)传给实现任务函数的参数(形参)任务栈栈顶(高地址、数组最后一个元素)优先级(0-61中间的选一个,63留给了空闲任务、62留给了统计任务)
uCOS-II源码.zip (94.6 KB, 下载次数: 0) 2020-6-28 17:45 上传 点击文件名下载附件 5.1 uCOS-II操作系统5.1.1 什么是操作系统 《1》管理软件硬件的程序集合。 《2》软硬件的沟通桥梁。 举个栗子:当你要播放音乐时,假设是电脑,装的是Window操作系统,步骤如下:打开酷狗音乐软件找需要播放的歌曲点击播放 这时,你就能听到优美动听的歌曲了。但底层操作是如何操作的呢?是谁操作呢?是操作系统帮你完成了这一切工作。当你点击播放,操作系统工作流程如下:当你点击播放按钮,操作系统读取你需要播放歌曲的源文件(mp3文件)操作系统调用音乐解析驱动,解析你的mp3文件,转成播放器(喇叭)认识的二进制文件。操作系统把解析好音乐的二进制文件,发送给播放器(硬件设备),若此时音乐播放器,一切都准备就绪了,就可以播放音乐了。 总结,对硬件的操作,由操作系统来完成,操作系统直接与硬件交互。用户如果想控制底层硬件,必须经过操作系统进行间接控制,操作系统提供系统调用给用户,用户就可以与硬件交互了。系统调用是封装了操作各部分硬件的API。 5.1.2 为什么要使用操作系统 《1》屏蔽硬件。使应用程序不依赖硬件,提高了程序的可移植性。 《2》多任务。因为消费者想同时聊QQ、聊、看电视剧等。早期单核CPU想完成这些功能,就需要使用操作系统,实现不同任务之间高速的切换。 5.1.3 操作系统分类 《1》分时操作系统:以时间片为基本调度原则。给每个任务分配一段固定的CPU时间,时间到就切换下一个任务,时间不到不切换任务。如:Windows—95/98,Linux内核2.6以前。 《2》实时操作系统:以优先级为基本调度原则。不是给每个任务分配一段固定的CPU时间,而是根据优先级分配CPU执行时间,谁优先级高,先执行谁,分配的CPU时间就多,如uCOS-II。 《3》半实时操作系统:部分使用分时操作系统、部分使用实时操作系统。如Windows----7/8/10,Linux内核2.6以后。 5.1.3 为何学uCOS-II《1》代码量少,容易上手。《2》多任务,实现复杂功能《3》提高内外功(内功:阅读代码能力 外功:编程能力)《4》为学习其他操作系统打下基础 5.1.4 其他补充学操作系统的难点《1》逻辑理解、代码运行流程《2》术语的理解、领悟uCOS-II理解u---微型C---控制器 OS—操作系统UCOS-II代码来源《1》官网《2》示例代码 5.2 UCOS操作系统5.2.1 操作系统的调度原则《1》分时操作系统调度原则:以时间片为基本调度原则,为每个任务分配固定的CPU执行时间,时间到,切换下一个任务,时间不到,不切换任务。《2》实时操作系统调度原则以优先级为基本调度原则,不是固定为每个任务分配CPU执行时间,而是根据优先级高低分配CPU时间,优先级低的分配CPU执行时间就短,优先级高的分配的CPU时间就长。 5.2.2 操作系统程序结构《1》裸机代码整个工程只有一个main函数,在main函数执行中只有一个真正意义上的死循环,其他死循环都是有退出条件或永远不会执行了的死循环。《2》操作系统代码整个工程只有一个main函数,在mian函数中,至少创建一个任务,每个任务都有一个死循环。操作系统要切换任务需要高优先级任务释放CPU使用权。 5.2.3操作系统的任务结构《1》任务的构成:任务控制块,任务函数、任务优先级、任务栈。《2》 任务控制块:任务先内存空间申请的一块内存空间,用于执行任务使用的,任务控制块包含、任务函数、任务优先级、任务栈。《3》任务函数:任务的执行入口,任务的具体功能在这里实现。《4》任务优先级:任务的能执行的唯一标识。用来规定任务的执行先后顺序。《5》任务栈:保存任务在切换过程中的现场信息。任务在切换前,把当前执行任务的现在信息保存在栈中,该过程称为压栈,当执行完其他任务完后,又切换回来,读取栈里面保存的现场信息,继续执行任务,该过程称为弹栈。 简单理解:在栈中进入一个元素,称为压栈或入栈,出来一个元素称为弹栈或出栈。5.2.4 操作系统的任务切换在哪些情况下,会进行任务切换?心跳节拍到达的时候会进行切换。心跳节拍来源于系统滴答时间,所以用Tick表示心跳节拍。调用任务调度函数。用操作系统内核进行调用。 5.2.5 操作系统的任务中断与裸机编程中断基本一致,但需要注意两点在操作系统的中断服务函数的第一句代码,调用一个函数,目的是告诉操作系统当前进入中断功能。在操作系统的中断服务函数的最后一句代码,调用一个函数,目的是告诉操作系统当前退出了中断功能。 裸机中断与ucos中断的深入理解裸机中断,中断后会返回原点,原点就是主栈。从中断栈切换回到主栈。ucos中断,中断后不一定返回原点,因为返回前有任务调度,如果中断完后,有任务优先级高过当前任务,当前任务就失去了CPU的使用权。 5.2.6 操作系统的任务状态《1》停止/休眠态:任务创建之前和删除之后的状态。《2》就绪态:任务具有了可执行条件。《3》运行态:任务得到了CPU的使用权。《4》等待/挂起态:任务被挂起或等待某件事情发生。《5》中断态:正在执行的任务,被中断了。任务状态转换关系如下图: 5.3 创建UCOS工程模板5.3.1 获取UCOS源码 官网太卡了,所以给你准备UCOS例程,如下。 5.3.2 UCOS过程文件分析 5.3.3 新建UCOS工程 5.3.4 创建一个任务 5.3.5 补充、小结移植Ucos-II总结:配置基本流程:《1》找到Ucos-II源码(来源:官网、例程、别人的代码、自己的代码)《2》添加到过程文件中,添加对应头文件《3》编写系统滴答定时器,开启中断模式《4》编写滴答中断服务函数《5》编写主函数主函数编写流程:系统滴答初始化串口初始化(用于调试)操作系统初始化创建任务启动操作系统实现任务函数 关于延时OSTimeDly(100);?一次系统滴答为5ms,所以写100,就是500ms。 关于任务函数OSTaskCreate(Task0,NULL,&stack0[TASK0_STK_SIZE-1],TASK0_PRI);?第一个参数为一个函数的名字(实现任务的函数的名字)传给实现任务函数的参数(形参)任务栈栈顶(高地址、数组最后一个元素)优先级(0-61中间的选一个,63留给了空闲任务、62留给了统计任务)
5.1 uCOS-II操作系统
5.1.1 什么是操作系统
《1》管理软件硬件的程序集合。
《2》软硬件的沟通桥梁。
举个栗子:当你要播放音乐时,假设是电脑,装的是Window操作系统,步骤如下:
这时,你就能听到优美动听的歌曲了。但底层操作是如何操作的呢?是谁操作呢?
是操作系统帮你完成了这一切工作。当你点击播放,操作系统工作流程如下:
总结,对硬件的操作,由操作系统来完成,操作系统直接与硬件交互。用户如果想控制底层硬件,必须经过操作系统进行间接控制,操作系统提供系统调用给用户,用户就可以与硬件交互了。系统调用是封装了操作各部分硬件的API。
5.1.2 为什么要使用操作系统
《1》屏蔽硬件。使应用程序不依赖硬件,提高了程序的可移植性。
《2》多任务。因为消费者想同时聊QQ、聊、看电视剧等。早期单核CPU想完成这些功能,就需要使用操作系统,实现不同任务之间高速的切换。
5.1.3 操作系统分类
《1》分时操作系统:以时间片为基本调度原则。给每个任务分配一段固定的CPU时间,时间到就切换下一个任务,时间不到不切换任务。如:Windows—95/98,Linux内核2.6以前。
《2》实时操作系统:以优先级为基本调度原则。不是给每个任务分配一段固定的CPU时间,而是根据优先级分配CPU执行时间,谁优先级高,先执行谁,分配的CPU时间就多,如uCOS-II。
《3》半实时操作系统:部分使用分时操作系统、部分使用实时操作系统。如Windows----7/8/10,Linux内核2.6以后。
5.1.3 为何学uCOS-II
《1》代码量少,容易上手。
《2》多任务,实现复杂功能
《3》提高内外功(内功:阅读代码能力 外功:编程能力)
《4》为学习其他操作系统打下基础
5.1.4 其他补充
学操作系统的难点
《1》逻辑理解、代码运行流程
《2》术语的理解、领悟
uCOS-II理解
u---微型
C---控制器
OS—操作系统
UCOS-II代码来源
《1》官网
《2》示例代码
5.2 UCOS操作系统
5.2.1 操作系统的调度原则
《1》分时操作系统调度原则:
以时间片为基本调度原则,为每个任务分配固定的CPU执行时间,时间到,切换下一个任务,时间不到,不切换任务。
《2》实时操作系统调度原则
以优先级为基本调度原则,不是固定为每个任务分配CPU执行时间,而是根据优先级高低分配CPU时间,优先级低的分配CPU执行时间就短,优先级高的分配的CPU时间就长。
5.2.2 操作系统程序结构
《1》裸机代码
整个工程只有一个main函数,在main函数执行中只有一个真正意义上的死循环,其他死循环都是有退出条件或永远不会执行了的死循环。
《2》操作系统代码
整个工程只有一个main函数,在mian函数中,至少创建一个任务,每个任务都有一个死循环。操作系统要切换任务需要高优先级任务释放CPU使用权。
5.2.3操作系统的任务结构
《1》任务的构成:任务控制块,任务函数、任务优先级、任务栈。
《2》 任务控制块:任务先内存空间申请的一块内存空间,用于执行任务使用的,任务控制块包含、任务函数、任务优先级、任务栈。
《3》任务函数:任务的执行入口,任务的具体功能在这里实现。
《4》任务优先级:任务的能执行的唯一标识。用来规定任务的执行先后顺序。
《5》任务栈:保存任务在切换过程中的现场信息。任务在切换前,把当前执行任务的现在信息保存在栈中,该过程称为压栈,当执行完其他任务完后,又切换回来,读取栈里面保存的现场信息,继续执行任务,该过程称为弹栈。
简单理解:在栈中进入一个元素,称为压栈或入栈,出来一个元素称为弹栈或出栈。
5.2.4 操作系统的任务切换
在哪些情况下,会进行任务切换?
5.2.5 操作系统的任务中断
与裸机编程中断基本一致,但需要注意两点
裸机中断与ucos中断的深入理解
5.2.6 操作系统的任务状态
《1》停止/休眠态:任务创建之前和删除之后的状态。
《2》就绪态:任务具有了可执行条件。
《3》运行态:任务得到了CPU的使用权。
《4》等待/挂起态:任务被挂起或等待某件事情发生。
《5》中断态:正在执行的任务,被中断了。
任务状态转换关系如下图:
5.3 创建UCOS工程模板
5.3.1 获取UCOS源码
官网太卡了,所以给你准备UCOS例程,如下。
5.3.2 UCOS过程文件分析
5.3.3 新建UCOS工程
5.3.4 创建一个任务
5.3.5 补充、小结
移植Ucos-II总结:
配置基本流程:
《1》找到Ucos-II源码(来源:官网、例程、别人的代码、自己的代码)
《2》添加到过程文件中,添加对应头文件
《3》编写系统滴答定时器,开启中断模式
《4》编写滴答中断服务函数
《5》编写主函数
主函数编写流程:
关于延时OSTimeDly(100);?
一次系统滴答为5ms,所以写100,就是500ms。
关于任务函数OSTaskCreate(Task0,NULL,&stack0[TASK0_STK_SIZE-1],TASK0_PRI);?
使用道具 举报
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|比特138 |网站地图
GMT+8, 2021-3-3 12:55 , Processed in 0.113573 second(s), 8 queries , Redis On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.