USART串口发送

news2024/9/23 21:27:27

文章目录

    • 运行环境:
    • 1.1 串口发送
      • 1)用户手册
      • 2)原理图
    • 2.1配置
      • 1)串口引脚配置
      • 2)通讯配置
      • 3)RCC和SYS
    • 3.1代码分析
    • 3.2添加代码
      • 1)串口发送函数
      • 2)硬件和驱动安装
      • 3)launch设置
    • 4.1实验效果

运行环境:

ubuntu18.04.melodic
宏基暗影骑士笔记本
stm32f427IIH6
stlink
9-24v可调电源
usb转串口
杜邦线转4pin

1.1 串口发送

1)用户手册

硬件接口

在这里插入图片描述

在这里插入图片描述蓝色串口3,红色分别是串口6,8,7 (都是4pin对外接口),下面实验选择串口6。

硬件接线:

在这里插入图片描述

2)原理图

UASRT6
发送TX_PG14
接收RX_PG9
在这里插入图片描述在这里插入图片描述

2.1配置

1)串口引脚配置

发送TX_PG14
接收RX_PG9
在这里插入图片描述

在这里插入图片描述

2)通讯配置

异步通讯
奇偶校验位 无
停止位 1
在这里插入图片描述

中断使能:
在这里插入图片描述

3)RCC和SYS

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

为每个外设 生成外设初始化.c/.h文件

在这里插入图片描述

3.1代码分析

在usart.c中,串口已经被初始化好
在这里插入图片描述

3.2添加代码

1)串口发送函数

第一个参数是串口地址,第二个是发送数据,第三个是数据大小,第四个是超时时间。
在这里插入图片描述
在这里插入图片描述

  HAL_UART_Transmit(&huart6, "ABCDEF", 6, 100);

2)硬件和驱动安装

ch340转换器(usart转usb)
在这里插入图片描述

驱动安装:

sudo modprobe ch341

查看usb口:

dmesg

在这里插入图片描述

串口调试助手安装:

sudo apt-get install cutecom

# 启动
sudo  cutecom

在这里插入图片描述

make编译,F5烧录调试

3)launch设置

修改成以下内容:可执行文件名是freeRTOS_LED.elf

{ =400x
    "configurations": [
    

        {
            "showDevDebugOutput": "parsed",
            "cwd": "${workspaceRoot}",
            "executable": "./build/TIM1.elf",
            "name": "Debug STM32",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "openocd",
            "device": "stm32f427",
            "configFiles": [
                "interface/stlink-v2-1.cfg",
                "target/stm32f4x.cfg"
            ]
        }
    ]
}

4.1实验效果

vscode不断向串口调试助手发送ABCDEF
在这里插入图片描述


⭐⭐⭐ 嘟嘟崽 ⭐⭐⭐
⭐⭐⭐ 祝你成功 ⭐⭐⭐

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

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

相关文章

支持轴体热插拔的平价机械键盘,全尺寸带灯效,雷柏V700DIY上手

日常工作娱乐中少不了键盘,这两年定制化的机械键盘很受欢迎,不过动辄上千的发烧键盘还是让很多朋友望而却步,好在目前市面上也有不少平价款的DIY键盘可以选择,像是我现在用的这款雷柏 V700DIY,就可以轻松定制&#xff…

Distilling Step-by-Step: 可以用更少的训练数据与模型尺寸战胜同级别的LLM!

Distilling Step-by-Step: 可以用更少的训练数据与模型尺寸战胜同级别的LLM! IntroductionMethod实验参考 Introduction 作者提到部署大模型存在时延、内存、算力等挑战,所以目前的趋势是微调、蒸馏一个不是很大的语言模型,如Vicuna、Alpaca…

一个WPF开发的、界面简洁漂亮的音频播放器

今天推荐一个界面简洁、美观的、支持国际化开源音频播放器。 项目简介 这是一个基于C# WPF开发的,界面外观简洁大方,操作体验良好的音频播放器。 支持各种音频格式,包括:MP4、WMA、OGG、FLAC、M4A、AAC、WAV、APE 和 OPUS&…

【Python入门知识】NumPy数组迭代及连接

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 数组迭代 迭代意味着逐一遍历元素,当我们在 numpy 中处理多维数组时, 可以使用 python 的基本 for 循环来完成此操作。 如果我们对 1-D 数组进行迭代,它将逐一遍历每个元素。 实例 迭…

openSUSE----openSUSE开启sshd服务

【原文链接】openSUSE----openSUSE开启sshd服务 (1)首先修改配置,编辑 vi /etc/ssh/sshd_config 文件,将如下两个字段设置为yes PermitRootLogin yes PasswordAuthentication yes(2)然后搜索firewall&…

Springboot +Flowable,DataObject的使用方式

一.简介 在 Flowable 流程图的绘制过程中,可以编写一个名为 dataObject (数据对象)的元素,这个元素可以指定变量的 id、名称以及数据类型等各种属性,并且在流程实例启动的时候,会自动将 dataObject 元素的…

Pyinstaller将python文件打包成exe程序——封装LoFTR开源匹配代码

Pyinstaller将python文件打包成exe程序——封装LoFTR开源匹配代码 1.LoFTR代码下载及环境搭建 源码下载:https://github.com/bodhisatan/LoFTR-Stitch 环境搭建:按照github项目中的readme文档进行搭建即可,几乎没有遇到问题,代码…

通用操作日志处理方案

why(目的理念):操作日志是什么需要做哪些事情? 摘自美团博客的操作日志的介绍 操作日志的记录格式大概分为下面几种: * 单纯的文字记录,比如:2021-09-16 10:00 订单创建。 * 简单的动态的文本…

计算机网络中的路由选择背后的原理到底是什么样的?

路由选择是计算机网络中一个重要的概念,它指的是当一个数据包在网络中传输时,如何选择最优的路径以达到目的地。路由选择涉及到网络中的路由器和交换机,以及它们之间的通信协议。 本文将介绍路由选择的基本概念、算法和协议,以及…

虹科教您 | 基于Windows系统操作使用RELY-TSN-KIT评估套件

我们曾通过3篇文章详细介绍了如何在Linux系统中使用RELY-TSN-KIT并进行TSN协议测试,而本篇文章则将基于Windows系统来进行介绍。与Linux系统的操作类似的部分,本篇文章不再赘述,欢迎通过下方链接阅读前文: 虹科教您 | 基于Linux系…

UG NX二次开发(C#)-建模-一键获取直线与坐标轴的夹角

文章目录 1、前言2、在UG NX中随便创建几条直线3、在UG NX中的分析操作4、UG NX二次开发实现4.1 基本思路4.2 创建基准坐标系4.3 计算直线与轴向的夹角方法4.4 添加调用方法4.5 代码说明5、测试效果1、前言 在UG NX新版本中,测量的操作都集成在一起了,有读者私下问我,想开发…

OceanBase 4.0(小鱼)入选2023数字中国建设峰会“十大硬核科技”

4 月 27 日 ,第六届数字中国建设峰会发布“十大硬核科技”,原生分布式数据库 OceanBase 4.0(小鱼)入选,这是对 OceanBase 在技术突破上的权威肯定。OceanBase 4.0 是业内首个单机分布式一体化数据库,突破了…

【深度学习】计算机视觉(13)——tensorboard

因为意识到tensorboard的使用远不止画个图放个图片那么简单,所以这里总结一些关键知识的笔记。由于时间问题,我先学习目前使用最多的功能,大部分源码都包含summary的具体使用,基本不需要自己修改,因此tensorboard的解读…

选择云原生是企业进行技术变革的必经之路

前言 众所周知,云计算领域的蓬勃发展,让越来越多的企业将自己的业务搬到云上,上云已经成为大部分企业的首选操作。无论是头部的中大型企业,还是普通的微小企业,企业业务是亘古不变的核心,这关系着企业的命脉…

赋值带随机指针的链表

给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。 构造这个链表的 深拷贝。 深拷贝应该正好由 n 个 全新 节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 n…

云主机如何恢复备份和挂载备份

一、挂载备份(优先推荐) 1、windows系统: 在主机管理界面,点击【挂载备份盘】 挂载完成以后远程连接到服务器,右键 我的电脑--管理--磁盘管理 可以看到未分配的磁盘 右键未分配的磁盘--更改驱动路径--添加 给磁盘指定一个盘符。…

C++学习day--02 C++语法规则

1、回顾 通过第一天的学习&#xff0c;我们搭建好了开发环境&#xff0c;并打印了你好&#xff0c;现在做一个案例&#xff1a;自己跟着敲写出来&#xff1a; #include <iostream> #include <Windows.h> int main(void) { std::cout << "1.网站 404 攻…

SPSS如何进行相关分析之案例实训?

文章目录 0.引言1.双变量相关分析2.偏相关分析3.距离分析 0.引言 因科研等多场景需要进行绘图处理&#xff0c;笔者对SPSS进行了学习&#xff0c;本文通过《SPSS统计分析从入门到精通》及其配套素材结合网上相关资料进行学习笔记总结&#xff0c;本文对相关分析进行阐述。 1.双…

ubuntu(22.04)--常用命令(2)-awk-sed-find-cut-xargs-grep-curl-tee-wc-sort

1.awk 它逐行处理数据&#xff0c;特别适用于从文件中提取特定的数据。例如&#xff0c;您可以使用以下命令从CSV文件中提取数据的第一列&#xff1a; #1.awk awk -F , {print $1} linuxmi.csv#指定分割符#第一列# 待处理文件$ awk [options] [file] #1.打印第2列awk ‘{pr…

IPC<进程间通信>之共享内存-源代码在结尾处

一&#xff0c;什么是共享内存 共享内存是进程间通信的一种方式&#xff0c;相较于传统的管道和命名文件的通信方式&#xff0c;shared memory是最快的一种方式&#xff0c;但是他也有一定的缺陷&#xff0c;下面再谈。 共享内存区是最快的IPC形式。一旦这样的内存映射到共享…