| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 基于RTT Nano的多任务嵌入式程序设计 -> 正文阅读 |
|
[嵌入式]基于RTT Nano的多任务嵌入式程序设计 |
基于RTT Nano的多任务嵌入式程序设计一、国产RT-Thread操作系统概述1.简述RT-Thread实时操作系统是一个分层的操作系统,它包括了: 2.特点①体积小,可伸缩、易裁剪最小资源占用 1.2KB RAM 和 2.5KB flash。 3.优势相比Linux操作系统,RT-Thread体积小、功耗低、启动快速,还具有实时性高、占用资源小等特点,非常适用于各种资源受限的场合。 二、RTT-Nano的功能框架RT-Thread Nano是一个极简的硬实时内核,它还具备体积小、启动快速、实时性高、占用资源小等特点。 三、在stm32F103上移植RTT Nano1.添加RT-Thread系统组件获取RT-Thread Nano软件包 2.创建工程及配置项目在CubeMX中新建项目(同之前) 配置RCC 设置引脚PA6和PA7 设置串口USART1 设置时钟树 配置RT-Thread组件 选择 填写项目相关信息 生成代码(在keil中打开) 3.点灯在USER文件夹下新建app_rt_thread.c文件
Middlewares/RT-Thread/RTOS/kernel文件夹下的board.c,修改串口为USART2。
在main.c文件中添加代码
在main函数的while循环中添加代码
编译烧录运行代码 四、心得体会采用中断和查询结合的方式可以解决大部分裸机应用,但随着工程的复杂,裸机方式的缺点就暴露出来了: 必须在中断 (ISR) 内处理时间关键运算 内处理时间关键运算 ; ISR ISR 函数变得非常复杂,并且需要很长执行时间 ; ISR ISR 嵌套可能产生不预测的执行时间和堆栈 需求;超级循环和 ISR 之间的 数据交换是通过全局共享变量进行; 应用程序的员必须确保数据一致性 ; 超级循环可以与系统计时器轻松同步,但 如果系统需要多种不同的周期时间,则会很难实现 。而针对这些情况,使用多任务系统就可以解决这些问题。多任务系统或者说RTOS的实现,重点就在这个调度器上,而调度器的作用就是使用相关的调度算法来决定当前需要执行的任务。创建了任务并完成OS初始化后,就可以通过调度器来决定任务A,任务B和任务C的运行,从而实现多任务系统。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 2:00:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |