rt-thread汇总

news2024/12/23 13:24:03

finishmsh的区别?

这个问题我一直没搞懂,可能得看一下源码才能搞清楚了吧

通过Qemu运行RT-Thread

在windows上通过QEMU快速上手RT-thread smart

RT-thread启动流程

rt-thread启动流程

Kconfig语法

Kconfig语法

LOG输出

rt_kprintf("Hello rt-thread\n");	// 和终端finish的输出端口一样

关于终端的一些问题

  1. 终端的管脚配置
    刚开始我一直在Kconfig里面找究竟是在哪里配置的终端管脚,后来才发现这个管脚是通过cubeMx配置并生成初始化代码的,最终体现在如下函数中:
    在这里插入图片描述

  2. 如何切换终端的串口号

rtthreadbsp一般都默认uart1作为默认终端输出端口,如果我想改为其他端口呢?

  1. cubeMx中首先使能需要使用的串口,并配置好相应的管脚(参考问题1:终端的管脚配置);
  2. 通过env工具进入到相应的bsp(比如rt-thread-master\bsp\stm32\stm32h743-atk-apollo),运行menuconfig使能相应的串口(比如如下的uart2DMA暂时用不上):
    在这里插入图片描述
  3. 再配置终端的串口号为uart2:
    在这里插入图片描述
  4. 打开工程,重新编译烧录,然后把串口线接到uart2上就可以了.
  1. 终端波特率及参数配置
    bsp中的终端串口参数一般都是默认115200-8-N-1的配置,如果需要修改的话,可以修改如下初始化函数:
    在这里插入图片描述
    从以上代码可以看出,所有使能的串口配置参数默认都是一样的,如果想要修改,可以复制一份RT_SERIAL_CONFIG_DEFAULT,然后修改后复制给指定的串口。
  2. 终端名字的确认
    在上面的如何切换终端的串口号问题中,我看看到在执行menuconfig时配置了uart2,那么这个uart2名字是怎么来的呢?为什么不是usart2呢?
  1. 由于我们在menuconfig中使能了UART2,就在rtconfig.h文件中生成了一个名为BSP_USING_UART2的宏定义:
    在这里插入图片描述
  2. 再根据BSP_USING_UART2,使能了UART2_CONFIG宏定义,而在UART2_CONFIG宏定义中定义了串口的nameuart2:
    在这里插入图片描述
  3. 以上的步骤是给每个使能的外设都设置了一个名字。之后如果需要使用哪个外设,通过这个名字指定就可以了,比如想通过串口2作为终端输出,直接设置终端输出到uart2就可以了。
    在这里插入图片描述
    在这里插入图片描述
    通过上面的rt_console_set_device()函数,就会逐一比较RT_CONSOLE_DEVICE_NAME的值和各个外设的name,相同的就作为终端输出。

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

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

相关文章

InsCode AI ,你的良师益友!

Chat-GTP的火爆程度相信大家已经听说了,也对它有一个基本的初识,它是Open AI所研发的,读者当中应该有不少人已经接触和体验人工智能聊天,以及使用它交流很多问题有关于生活,学习等,而 InsCode AI 也一样能够…

javaWeb ssh学堂在线管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh学堂在线管理系统是一套完善的web设计系统(系统采用ssh框架进行设计开发),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

30天从入门到精通TensorFlow1.x 第三天,tf.variable_scope()共享或重用变量

tf.variable_scope()共享或重用变量 文章目录 一、接前一天二、tf.variable_scope()共享或重用变量1. 背景2. 目的3. tf.variable_scope()基本参数3. tf.variable_scope()作用(1).命名空间(2).共享变量(3).…

软考A计划-电子商务设计师-电子商务相关技术与应用基础知识

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例 👉关于作者 专注于Android/Unity和各种游戏开发技巧,以及各种资源分享&am…

cesium 相机相关

1 相机的初始位置 /*** The default rectangle the camera will view on creation.* type Rectangle*/ Camera.DEFAULT_VIEW_RECTANGLE Rectangle.fromDegrees(-95.0,-20.0,-70.0,90.0 );// set default view rectangleCameraPosition3D(this,Camera.DEFAULT_VIEW_RECTANGLE,…

Async 使用详解

Spring Boot异步调用Async 在实际开发中,有时候为了及时处理请求和进行响应,我们可能会多任务同时执行,或者先处理主任务,也就是异步调用,异步调用的实现有很多,例如多线程、定时任务、消息队列等&#xf…

若依框架快速搭建(二)

目录 数据库设计功能模块设计XXX信息管理xxx查询xxx添加xxx删除xxx修改xxx导出 功能模块实现运行数据库自动代码生成在IDEA中找到RuoYi-generator,修改配置运行前后端项目,在网页中找到代码生成模块导入表后点击确定,序号前打勾,再…

Mac - 光标特效 By CursorEffect2

目录 一.引言 二.安装 CursorEffect2 三.使用 CursorEffect2 四.使用效果 五.内存消耗 六.一键关闭 七.总结 一.引言 在自己搭建的 Hexo 博客上可以定义鼠标点击的特效,如图点击后可以产生彩色的斑点。 于是想着除了浏览 Hexo 博客外,能不能别的也…

【笔试强训编程题】Day1.(组队竞赛100449)和(删除公共字符69390)

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训编程题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!! 文章目录…

【CSS3系列】第一章 · CSS3新增的三种基本属性

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

FineBI6.0基础学习第一课 数据门户

PC端门户使用示例 首先,以管理员身份登录FineBI系统,安装数据门户,安装步骤见官网 新建一个数据门户

SouapUI接口测试之创建性能测试

SouapUI也是一个能生动的体现一个系统(项目)性能状态的工具,本篇就来说说如何在SouapUI工具下创建性能测试 一、创建测试用例 由于在《SouapUI接口测试之使用Excel进行参数化》篇已经创建好了测试用例,本篇就不讲解如何创建测试…

SpringCloudAlibaba:服务网关之Gateway学习

目录 一、网关简介 (一)为什么要用网关 (二)网关解决了什么问题 (三)常用的网关 二、Gateway简介 (一)核心概念 (二)工作原理 三、Gateway快速入门 &…

linuxOPS基础_用户与组管理

linux用户与组概念 为什么需要了解用户和组 服务器要添加多账户的作用 ​ 针对不同用户分配不同的权限,不同权限可以限制用户可以访问到的系统资源 ​ 提高系统的安全性 ​ 帮助系统管理员对使用系统的用户进行跟踪 用户和组的关系 理论上Linux系统中的每个用户…

2023年6月实时获取地图边界数据方法,省市区县街道多级联动【附实时geoJson数据下载】

首先,来看下效果图 在线体验地址:https://geojson.hxkj.vip,并提供实时geoJson数据文件下载 可下载的数据包含省级geojson行政边界数据、市级geojson行政边界数据、区/县级geojson行政边界数据、省市区县街道行政编码四级联动数据&#xff0…

日本原装Yokogawa AQ6317B横河AQ6317C光谱分析仪

Yokogawa AQ6317B光谱分析仪,50 GHz ​Yokogawa AQ6317B 光谱分析仪 (OSA) 是一款先进的光谱分析仪,应用范围广泛,包括光源评估、光学设备损耗波长特性的测量以及 WDM(波分复用)系统的波形分析。在 Yokogawa 购买产品…

第十七篇、基于Arduino uno,获取cp2d12红外测距传感器的原始值和距离值——结果导向

0、结果 说明:先来看看串口调试助手显示的结果,第一个值是原始的模拟电压值,第二个值是距离值,如果是你想要的,可以接着往下看。 1、外观 说明:虽然红外测距传感器形态各异,但是原理和代码都是…

java中实现对象属性复制的工具类

在 Java 中,有多个工具类可用于实现对象属性的复制,使得属性值从一个对象复制到另一个对象。以下是几个常用的工具类: Apache Commons BeanUtils: Apache Commons BeanUtils 提供了 BeanUtils 类,可以方便地进行属性…

一文简介Linux固件子系统的实现机制

一、Linux固件子系统概述 固件是硬件设备自身执行的一段程序。固件一般存放在设备flash内。而出于成本和便利性的考虑,通常是先将硬件设备的运行程序打包为一个特定格式的固件文件,存储到终端系统内,通过终端系统给硬件设备进行升级。Linux内…

java面向对象学习

一、Java类及类的成员 1.类是对一类事物的描述,是抽象的、概念上的定义 2.对象是实际存在的该类事物的每个个体,因而也称为实例 3.属性:对应类中的成员变量 4.行为:对应类中的方法 权限修饰符号:public、protected…