首页 > 编程知识 正文

stm32 文件系统,嵌入式单片机STM32原理及应用

时间:2023-05-05 14:19:56 阅读:128348 作者:772

前言

这是我将ucosii操作系统移植到STM32单片机后进行ucosii操作系统学习的一些笔记和理解。 在这篇文章的结尾附上我自己在UCOSIIOS操作系统下使用STM32编写的ESP8266 onenet http协议的程序链接。 可以作为参考。 如果文章有不恰当的地方,请大家指正。 请务必谦虚地告诉我。 参考资料:正点原子RTOS操作系统说明,参考文章: (第53条新闻(STM32学习笔记每个ucosii(1) _雫风AI-CSDN博客_ucosii

1.UCOSII操作系统概述

前倒车系统

我想大家都用过51、STM32等单片机,我们用的时候怎么样? 我们在裸体机器下写程序。 也就是说,我们写的程序就是在主函数中加入死循环,中断服务程序。 在无限循环中,在主函数中调用APP应用程序,然后调用相应的函数执行所需的功能。 这个大循环叫做后台系统。 然后,中断服务程序会来处理我们的异常。 异常结束后退出中断服务程序,回到进入原中断的地方继续运行我们的程序。 中断处理的事件是前台系统。

关于操作系统有很多,这里选择UCOSII进行说明

UCOSII是一个可修剪、抢占、实时多任务核心,可基于RAM运行,可移植性强,特别适用于微处理器和控制器的实时操作系统。 (重视实时性,实时性自己理解。 )

1.1任务

在操作系统下,任务实际上是一个死循环函数,在循环中调用相关函数,实现一定的滴功能。 当然,在操作系统下,一个项目可以有多个任务。 我们的UCOSII操作系统可以对这些任务进行任务时间表管理,以便这些任务可以同时工作。

任务的形式如下。

1.2设置任务优先级

在操作系统下,每个任务都有唯一确定的优先级。 高优先级任务优先获得CPU使用权,只有在高优先级任务运行后,我们的高优先级任务才移交CPU使用权,低优先级任务获得CPU使用权,所有任务运行后再重复此过程。 注:每个任务都有唯一确定的优先级,任务不能具有相同的优先级。

在程序中我是这样宏观地定义的

数字表示优先顺序,数字越小表示优先顺序越高。

1.3设置任务堆栈大小

后面的数字表示堆栈大小。 如果任务函数的局部变量较多,嵌套层数较多,则相应地我们的堆栈需要设定得较大。

1.4任务堆栈设置

请注意堆栈字节对齐问题。 特别是使用printf函数打印串行端口时)

1.5初始化ucosii、创建任务、启动ucosii

调用函数OSInit进行初始化,调用OSTaskCreate创建任务,调用函数OSStart启动操作系统。

到此为止,任务的基本实现步骤已经完成。 关于任务中的功能函数,我不展示。 你们自己移植并修改合适的功能函数就可以了。

UCOSII的更详细说明请移至顶层的相应链接。 接下来学习STM32。 所有工序都基于UCOSII。 这篇文章是第一次发表。 如果文章有不合适的地方,请指出给漂亮的长颈鹿。 我马上改正。

最后附上顶层说的链接

//程序链接:基于UCOSII的STM32 ESP8266 onenet http协议的程序

链接: https://pan.Baidu.com/s/1s 68 kyw-nqdtiuso0b5 Ji8q

抽屉代码: tian

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。