STM32-移植RTT

news2024/11/17 14:19:26

目录

  • Cubemx
    • 引入RTT资源
    • 新建工程
    • 生成工程
  • 时钟选择
  • 选单片机引脚
    • 引脚搜索快速选中
    • 取消引脚选中
    • 引脚命名
    • IO普通模式设置
  • 串口
    • 串口基本配置
    • 串口DMA
  • ADC采集
    • ADC基本应用
    • ADC_DMA
  • RTT-shell指令
    • 定义RTTCOM调试串口
    • J-Link RTT调试 教程
    • shell指令
      • RTT外设驱动使用1--串口添加
  • STM32_pwm

Cubemx

链接: STM32CubeMx安装教程(HAL库)(保姆级别)

引入RTT资源

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
复制完连接先CHECK再点OK
链接: CubeMax添加Rtthread操作系统 组件STM32F103
RTT资源引入链接:
https://www.rt-thread.org/download/cube/RealThread.RT-Thread.pdsc
链接: (RT-Thread学习笔记1)基于 CubeMX 移植 RT-Thread Nano

新建工程

详细介绍了cubmax然间的基本使用方法(包括引脚设置、时钟设置工程建立)链接: 基于STM32CubeMax的工程建立
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

生成工程

在这里插入图片描述
在这里插入图片描述

时钟选择

主要借鉴链接: STM32CubxMX时钟配置注意事项
在这里插入图片描述
BYPASS Clock Source 是选择有源晶振
Crystal/Ceramic Resonator 是选择无源晶振

在这里插入图片描述
开启使STM32自带RCC时钟在这里插入图片描述在这里插入图片描述

选单片机引脚

链接: 学习笔记CUMBEMX新建工程

引脚搜索快速选中

在这里插入图片描述

取消引脚选中

在这里插入图片描述

引脚命名

在这里插入图片描述

IO普通模式设置

链接: 手把手教你使用HAL库开发入门——成为点灯大师

  1. 浮空输入(默认状态):GPIO_Mode_IN_FLOATING
    引脚自身视为开路,电平由外部电路决定,不能输出;
  2. 上拉输入:GPIO_Mode_IPU
    与浮空输入类似,但当外部电平不确定时,会被拉至高电平;
  3. 下拉输入:GPIO_Mode_IPD
    与浮空输入类似,但当外部电平不确定时,会被拉至低电平;
  4. 模拟输入:GPIO_Mode_AIN
    用作内部AD采样脚;
  5. 通用开漏输出:GPIO_Mode_OUT_OD
    输出0为低电平,输出1为高阻态,电平由外部电路决定,可以读出引脚状态;
  6. 通用推挽输出:GPIO_Mode_OUT_PP
    输出0为低电平,输出1为内部电源电平(3.3V);
  7. 复用开漏输出:GPIO_Mode_AF_OD
    由复用外设控制输出,效果与通用开漏输出一致;
  8. 复用推挽输出:GPIO_Mode_AF_PP
    由复用外设控制输出,效果与通用推挽输出一致;

引用RTT延时函数,需要引入头文件在这里插入图片描述

#include "rtthread.h"

串口

在这里插入图片描述

串口基本配置

串口DMA

ADC采集

ADC基本应用

链接: adc 采样时间 采样周期数 采样频率计算(以stm32为例)
链接: STM32 ADC采样频率的理解
链接: STM32的ADC采样频率及相应时间的确定
综上所述STM32F1可用于35K内的adc采集

ADC_DMA

RTT-shell指令

定义RTTCOM调试串口

在这里插入图片描述

static int uart_init(void)
{
    /* TODO: Please modify the UART port number according to your needs */
    UartHandle.Instance = USART1;
    UartHandle.Init.BaudRate = 115200;
    UartHandle.Init.WordLength = UART_WORDLENGTH_8B;
    UartHandle.Init.StopBits = UART_STOPBITS_1;
    UartHandle.Init.Parity = UART_PARITY_NONE;
    UartHandle.Init.Mode = UART_MODE_TX_RX;
    UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE;
    UartHandle.Init.OverSampling = UART_OVERSAMPLING_16;

    if (HAL_UART_Init(&UartHandle) != HAL_OK)
    {
        while (1);
    }
    return 0;
}

J-Link RTT调试 教程

链接: J-Link RTT调试 教程

shell指令

两种shell的切换:如果打开了FINSH_USING_MSH而没有打开FINSH_USING_MSH_ONLY,finsh同时支持两种c-style模式与msh模式,但是默认进入c-style模式,执行 msh()即可切换到msh模式,在msh模式下执行 exit后即退回到c-style模式

finsh(C )中按下TAB键(或输入list()回车)可以打印则会当前系统支持所有内置符号。

#define FINSH_DEFAULT_PASSWORD “rtthread” //打开shell的密码
#define FINSH_USING_AUTH //身份验证,只有通过密码才能进入shell

链接: RT-Thread 添加 msh 命令

RTT外设驱动使用1–串口添加

链接: RTT外设驱动使用1–串口添加

STM32_pwm

我写的库函数版笔记链接: STM32 PWM配置
链接: STM32 PWM基本知识及配置过程

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

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

相关文章

玩元宇宙血亏后 蓝色光标梭哈AI也挺悬

蓝色光标2022年年度报告出炉,巨亏21.75 亿元,其中20.38亿亏损因商誉、无形资产及其他资产减值造成,而在实际亏损业务中,元宇宙占比不小。 蓝色光标在元宇宙领域的布局,主要通过三家子公司实施,分别为蓝色宇…

分布式文件系统HDFS的多问多答

分布式文件系统HDFS 简述HDFS的优缺点简述HDFS的体系结构请论述HDFS中SecondaryNameNode的作用和工作原理请论述HDFS写数据原理 简述HDFS的优缺点 HDFS的优良特性: ①兼容廉价的硬件设备。在成百上千台廉价服务器中存储数据,常会出现节点失效的情况&…

从浏览器输入url到页面加载(四)协议栈和套接字以及三次握手确认对于通信的作用

前言 上一节我们说到了域名对用户记忆的优点,但是IP对于路由器的优点,所以需要有DNS服务器提供域名与IP地址的转换,还说到了在前端开发中dns-prefetch域名预解析的好处。 本小节呢,我们会说一些不常用的知识点,如协议…

【社区图书馆】读《悲惨世界》有感

文章目录 故事简介经典重现价值取向我的思想 故事简介 《悲惨世界》是一部充满了悲剧的小说,故事首先由教堂展开,然后主要围绕着主人公冉阿让进行一系列的生动形象的描写,讲述了冉阿让悲惨的一生。 主人公冉阿让是一个诚实、善良的工人&…

100天涨薪4k,从功能测试到自动化测试,我整理的3000字超全学习指南

去年6月份,由于经济压力让我下定决心进阶自动化测试,已经24的我做了3年功能测试,坐标广州薪资定格在8k,可能是生活过的太安逸,觉得8000的工资也够了,但是生活总是多变的,女朋友的突然怀孕&#…

SpringBoot 整合WebService详解

1. 概述 WebService服务端是以远程接口为主的,在Java实现的WebService技术里主要依靠CXF开发框架,而这个CXF开发框架可以直接将接口发布成WebService。 CXF又分为JAX-WS和JAX-RS,JAX-WS是基于xml协议,而JAX-RS是基于Restful风格&…

OCR卡证识别

文章目录 前言一、DBNet多分类二、步骤1.训练、训练模型推理、模型转换2.通过推理模型进行推理 三、解决思路1、查看模型2、tools/infer/predict_det.py修改3、utility.py修改 总结 前言 最近涉及到了身份证识别,为了便于匹配识别结果的属性,如姓名、身…

(二) AIGC—Stable Difussion (1)

1. 前置知识 目前通用的图像生成模型一般包含三个组件: Text Encoder 根据文字生成向量生成模型 根据向量和Noise 生成 缩小版本的图像Image Decoder 根据小分辨率图像生成大分辨率图像 2. Text Encoder 文字的Encoder对于结果的影响很大,增大Diffusio…

华为p60系列超级快充 Turbo技术,轻松搞定充电困扰!

随着手机的功能越来越丰富,电量消耗也越来越快,当手机电量剩余20%时,是否有电量焦虑。为了满足大家快速充电的需求,华为P60系列配备了超级快充Turbo充电技术,让我们手机充电更快,用的更久,从此告…

Python爬虫解读

爬虫: Python爬虫是指利用计算机程序或者脚本自动抓取网站数据的一种行为,通常是为了提取网站数据或者进行数据分析等目的。 Python 爬虫可以分为手动爬虫和自动爬虫两种。手动爬虫是指完全由人工编写代码来实现的爬虫,这种方式需要编写大量的…

ES使用小结

ES使用总结 1.查询es全部索2.根据es索引查询文档3.查看指定索引mapping文件4.默认查询总数10000条5.删除指定索引文档6.删除所有数据包括索引7.設置窗口值8. logstash简单配置Logstash配置:logstash 控制台输出 9. filebenat配置 1.查询es全部索 localhost:9200/_c…

为什么说网络安全行业是IT行业最后的红利?

前言 2023年网络安全行业的前景看起来非常乐观。根据当前的趋势和发展,一些趋势和发展可能对2023年网络安全行业产生影响: 5G技术的广泛应用:5G技术的普及将会使互联网的速度更快,同时也将带来更多的网络威胁和安全挑战。网络安全…

DHCP 给内网客户端分配ip地址

~ 为 InsideCli 客户端网络分配地址,地址池范围: 192.168.0.110-192.168.0.190/24; ~ 域名解析服务器:按照实际需求配置 DNS 服务器地址选项; ~ 网关:按照实际需求配置网关地址选项; ~ 为…

JAVAWeb08-手动实现 Tomcat 底层机制+ 自己设计 Servlet

1. 前言 先看一个小案例, 引出对 Tomcat 底层实现思考 1.1 完成小案例 ● 快速给小伙伴完成这个小案例 0. 我们准备使用 Maven 来创建一个 WEB 项目, 老师先简单给小伙伴介绍一下 Maven 是什么, 更加详细的使用,我们还会细讲, 现在先使用一把 先创建…

【MySQL】带你了解MySQL 如何学习MySQL以及MySQL的用途以及意义

目录 1 MySQL的起源和发展 1.0.1 数据库管理系统 1.1 MySQL的起源 命名由来: 1.2 MySQL的发展历程 2 什么是MySQL? 2.1 数据库 2.1.1 我们之前存储数据的格式: 2.1.2 使用数据库的目的: 2.1.3 数据库分类 2.2 SQL语句 2…

STM32-HAL-串口的printf重定向

一、C语言的格式化输出 C语言的printf是一个标准库函数,用于将格式化的数据输出到标准的输出设备(通常是终端) 基本语法: int printf(const char *format, ...);其中的第一个参数const char *format表示输出格式,后面…

Kubernetes核心组件及资源介绍

文章目录 一、Kubernetes架构二、Kubernetes核心组件三、Kubernetes核心资源四、拓展1、Service和Ingress的区别是什么?2、Replicaset和Deployment的区别是什么?3、Deployment和Statefulset的区别是什么?4、Job和Cronjob的区别是什么&#xf…

【FAQ】统一扫码服务常见问题及解答

1.隐私政策是怎么样的?收集哪些信息? 关于Scan Kit的隐私政策及收集的信息,请查看SDK隐私安全说明。 Android:SDK隐私安全说明 iOS:SDK隐私安全说明 2.如何使用多码识别?多码模式下如何实现指定条码&am…

vue生命周期的理解?

目录标题 一、什么是生命周期?二、生命周期的流程图: 一、什么是生命周期? Vue 实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译版、挂载Dom ->染、更新 ->渲染、卸载 等一系列过程,称这是Vue的生…

简单清晰了解B树和B+树

一.学习背景 在MySQL的学习中,我们了解到了索引的知识,而关于MySQL索引背后的数据结构,我们在这里进行学习. 首先,我们要了解到的是,MySQL的索引用到的数据结构为B树. 使用B树是因为,在数据量大的时候,内存不够用,大部分数据只能存放在磁盘上,只有需要…