FreeRTOS-Plus-CLI移植

FreeRTOS-Plus-CLI移植

  • Fang XS.
  • 1452512966@qq.com
  • 如果有错误,希望被指出,学习技术的路难免会磕磕绊绊
  • 量的积累引起质的变化
介绍
  • FreeRTOS-Plus-CLI是FreeRTOS的组件之一。
  • FreeRTOS-Plus-CLI提供了一种简单、小巧、可扩展且RAM高效的启用方法方便FreeRTOS应用程序处理命令行输入。
  • FreeRTOS-Plus-CLI 位于官方 FreeRTOS zip 文件下载的以下目录:FreeRTOS-Plus/Source/FreeRTOS-Plus-CLI。
  • FreeRTOS V10.0.0 FreeRTOS-Plus-CLI 与 FreeRTOS 内核采用相同的 MIT许可。
  • 官网简介
  • gitee仓库
使用说明
  • free-rtos-cli/FreeRTOS-Plus-CLI
  1. 修改serial.c,serial.h以适配底层串口输入输出接口。
    这里是先发送给队列,发送成功后读出进行串口输出,也可以不使用队列,直接串口输出
    在这里插入图片描述
  • 串口中断中调用即可:
    在这里插入图片描述

  • 初始化未使用,cubemx生成代码后,自动在main函数进行硬件初始化,这里可忽略
    在这里插入图片描述

  1. 在启动调度器之前,包含稍作修改的头文件:CLI-commands.hUARTCommandConsole.h.
    在这里插入图片描述

  2. 在启动调度器之前,调用void vRegisterSampleCLICommands( void );以注册demo命令;

  3. 在启动调度器之前,调用void vUARTCommandConsoleStart( uint16_t usStackSize, UBaseType_t uxPriority );以创建命令解析任务;
    在这里插入图片描述

  4. 烧录运行
    在这里插入图片描述

  • gitee仓库中:free-rtos-cli/ FreeRTOS-CLI Demo
  1. 基于stm32l431rct6的移植demo。
  2. 硬件只包含基础初始化和串口1初始化。
  3. 使用cubemx生成的FreeRTOS模板,移植了FreeRTOS-Plus-CLI
  • free-rtos-cli/ FreeRTOS-Plus-CLI中,修改:
  1. 新增CLI-commands.h,添加CLI-commands.c中的头文件,函数声明和宏;
  2. 新增UARTCommandConsole.h,添加UARTCommandConsole.c中的头文件,函数声明和宏;
  3. 修改目的:将原有代码进行简单的模块化分离,方便代码的阅读,移植和调用等;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/198512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JS的监听事件

在JavaScript中,你可以使用监听器来捕获和处理不同类型的事件。通过添加事件监听器,你可以指定当特定事件发生时要执行的函数。 以下是几种常见的监听事件的方法: 1. addEventListener():用于在目标元素上添加事件监听器。它接受…

解决 IIS HTTP 403 错误问题

最近上传附件 IIS 总是返回 HTTP 403 错误,在踩了很多配置的坑之后,终于把问题解决了,于是特意写了本篇文章。 虽然网络上的文章不少,大都写的没错,但是他们没有很清晰的把问题描述清楚,导致一些新手在看这些文章跟着处理问题的时候难免会踩坑,于是我就以我踩坑的经验写…

分享67个节日PPT,总有一款适合您

分享67个节日PPT,总有一款适合您 67个节日PPT下载链接:https://pan.baidu.com/s/1oU-UUCV_69e8Gp5Y6zrzVA?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易…

使用Python发送HTTP请求的最佳实践:让你的代码锐利如刀!

在当今的数字化时代,使用Python发送HTTP请求已经成为了许多开发人员的日常任务。无论是进行API交互、网页爬取,还是构建网络服务,掌握Python的HTTP请求技巧都至关重要。但是,要想在竞争激烈的编程领域中脱颖而出,你需要…

python模块 — json

1、什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON由键值对构成,键和值之间使用冒号分隔,键值对之间使用逗号分隔,并且整个结构包含在花括号中。 不同编程语言都提供了处…

uniapp-hubildx配置

1.配置浏览器 (1)运行》运行到浏览器配置》配置web服务器 (2)选择浏览器安装路径 (3)浏览器安装路径: (3.1) 右键点击图标》属性 (3.2)选择目标&…

FutureTask

1. 作用 异步操作获取执行结果取消任务执行&#xff0c;判断是否取消执行判断任务执行是否完毕 2. demo public static void main(String[] args) throws Exception {Callable<String> callable () -> search();FutureTask<String> futureTasknew FutureTask&…

OpenGL ES eglCreatePbufferSurface() 和 eglCreateWindowSurface() 的对比和使用

一、介绍 相同点&#xff1a; eglCreatePbufferSurface 和 eglCreateWindowSurface 都是 OpenGL ES 中用于创建不同类型的EGL表面的函数&#xff0c;以便在OpenGL ES中进行渲染。 不同点&#xff1a; 选择使用哪种表面类型取决于你的需求。如果你只是需要在内存中进行离屏渲…

Lombok详解

目录 前言:注解速查1.Lombok概念2.安装Lombok3. 使用Lombok3.1 😊@Data3.2 @Getter@Setter3.3 @NonNull3.4 @Synchronized3.5 @ToString:自动生成toString()方法3.6 @Cleanup3.7 @EqualsAndHashCode前言:注解速查 @NonNull : 用在成员方法或者构造方法的参数前面,会自动产…

chrom谷歌浏览器删除表单填写记录

鼠标光标移动到删除的信息 shiftdel就可以删除了

基于Python的图书管理系统的设计与实现

点我完整下载&#xff1a;基于Python的图书管理系统的设计与实现.docx 基于Python的图书管理系统的设计与实现 Design and Implementation of a Book Management System based on Python 目录 目录 2 摘要 3 关键词 3 第一章 引言 4 1.1 研究背景 4 1.2 研究目的 5 1.3 研究意义…

Redis 集群搭建 哨兵模式搭建

文章目录 Redis version 6.0.5 集群搭建下载文件环境安装解压编译配置文件启动关闭密码设置 Redis version 6.0.5 集群搭建 下载文件 下载 命令 url 可找官网 复制 wget http://download.redis.io/releases/redis-6.0.5.tar.gz环境安装 yum install gcc-c yum install cpp …

【矩阵】240.搜索二维矩阵II

题目 跟剑指中题目相同。 class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m matrix.length, n matrix[0].length;int i m - 1, j 0;while (i > 0 && j < n) {if (matrix[i][j] target) {return true;} else if (matrix[i]…

Java多线程技术二:线程间通信——ThreadLocal的使用

1 概述 变量值的共享可以使用public static 的声明方式&#xff0c;所有的线程都是用同一个public static变量&#xff0c;那如果想实现每一个线程都有自己的变量该如何解决呢&#xff1f;JDK提供的ThreadLocal就派上用场了。 ThreadLocal类主要的作用就是将数据放入当前线程对…

FreeRTOS下的“Hello World”

什么是实时操作系统&#xff08;RTOS&#xff09; 实时操作系统&#xff08;RTOS&#xff09;是一种专为实时应用程序设计的操作系统。实时应用程序需要在特定时间内做出预测的响应&#xff0c;因此RTOS专注于提供对时间约束的强调&#xff0c;以确保系统能够满足实时性能要求…

web前端开发HTML/css用户登录界面

代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"> <head> <meta http-equi…

react学习--Redux的使用

Redux 的核心思想是通过一个单一的状态树来管理应用的状态&#xff0c;状态的修改通过纯函数&#xff08;reducers&#xff09;来进行&#xff0c;从而使状态变化可追踪和可预测。 1、安装 Redux&#xff1a; 在项目中安装 Redux 库和 React-Redux&#xff08;用于 React 绑定…

神经网络常用归一化和正则化方法解析(一)

&#x1f380;个人主页&#xff1a; https://zhangxiaoshu.blog.csdn.net &#x1f4e2;欢迎大家&#xff1a;关注&#x1f50d;点赞&#x1f44d;评论&#x1f4dd;收藏⭐️&#xff0c;如有错误敬请指正! &#x1f495;未来很长&#xff0c;值得我们全力奔赴更美好的生活&…

Diary11-Word文字

Word文字 一.标尺与标记 1.标尺 1.1标尺的打开方式 标尺&#xff1a;视图->标尺(选中即可) 1.2标尺的相关操作 左边的倒三角&#xff1a;【首行缩进】->第一行与左边的间距 左边的正三角&#xff1a;【悬挂缩进】->除了第一行之外的行与左边的间距 右边的正三角…

Win环境中安装Jenkins指南

目录 安装Java环境 下载并安装Jenkins Jenkins版本 启动Jenkins 如何删除Jenkins 安装Java环境 访问 Oracle官方网站 下载并安装JDK 安装完成后&#xff0c;设置系统环境变量 JAVA_HOME 到你的 JDK 安装路径&#xff0c;并将 %JAVA_HOME%\bin 添加到系统 PATH 中。 下载…