STM32G431RBT6(蓝桥杯)串口(发送)

news2024/11/15 13:26:27

一、基础配置

 (1)        

 PA9和PA10就是串口对应在单片机上的端口

         注意:一定要先选择PA9的TX和PA10的RX,再去打开异步的模式

 (2)

 

二、查看单片机的端口连接至电脑的哪里

(1)此电脑->右击属性

 (2)找到端口

        若有很多端口,不确定是哪一个端口,那就先把设备给取下,然后再插入,看多出哪个,哪个就是串口

三、打开串口助手

(1)串口助手在D盘的蓝桥杯速成(杨心愉)里面

 (2)调试串口

         要选一个是板子的串口号

         打开串口之后这里就变红了

(3)还是原来的串口助手好用

四、代码 USART1

(1)简单理论讲解

        UART是工作在异步的模式下,USART可以工作在同步和异步的模式下

HAL_UART_Receive()

        这个是通过查询的方式去接收数据

HAL_UART_Receive_DMA()

        这个是通过DMA的方式去接收数据

HAL_UART_Receive_IT()

        这个就是通过中断的方式去接收数据

        发送数据也是同样

(2)简单代码
   2.1     首先要定义一个数组 

但是字符串的数据不能超过30,可以小于

uint8_t temp_txbuffer[30]={"Real Magic Origin"};
2.2  执行语句

 HAL_UART_Transmit (&huart1,temp_txbuffer,17,10);

        首先是句柄,然后是数组的名称,再就是传输字符串的字符数,最后是超时时间(单位是毫秒)

  /* USER CODE BEGIN 2 */
  uint32_t temp_cnt=0;
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
	  if (HAL_GetTick()-temp_cnt >1000)
	  {
		  
	      HAL_UART_Transmit (&huart1,temp_txbuffer,17,10);
		  
		  temp_cnt =HAL_GetTick();
	  }
	  
	  
  }

       先定义一个初始数据,然后加一个判断条件,当单片机获取到的数值减去上一次获取到的数值大于1毫秒之后,再执行发送数据的指令。也就相当于是每过1毫秒发送一次数据

       但是使用HAL_UART_Transmit()这个函数,因为传输的数据是17位,假设把115200变成9600,那么用1除以9600所算出来传输一个字符的时间就会变大(当然传输一个字符所需要的时间还要算上停止位、起始位、数据位,所以每次传输10个位),那么原来的延时10毫秒就会导致接收数据不完整,就只能一半一半的接收。又因为波特率是可以随时改变的,那么我们就应该要换一个函数

 

         但是如果我们使用串口发送的中断函数,那么我们就不需要考虑后面的延时函数(DMA也是一样),这句函数就是执行完这句话的发送任务之后,就不需要等待10毫秒,它就会直接出来,完整的发送数据,这种叫非阻塞型发送方式,上面那一个就是阻塞型发送方式。阻塞型就是如果不等10毫秒,就不会执行下面的语句。就相当于刚发到O这个字母,正好10毫秒过去了,那么就开始过1秒之后再发送接下来的数据。(非阻塞型不太明白)

 (3)代码基本注释

HAL_UART_Receive(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size, uint32_t Timeout)

        这个需要知道接收数据的字符串长度及其时间

HAL_UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)

HAL_UART_Receive_DMA(UART_HandleTypeDef *huart, uint8_t *pData, uint16_t Size)

        这两个虽然不需要知道接收到的时间,但是需要知道接收到的长度,所以使用起来还是不是那么的方便

 

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

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

相关文章

AI视觉算法盒是什么?如何智能化升级网络摄像机,守护全方位安全

在智能化浪潮席卷全球的今天,以其创新技术引领行业变革,推出的集高效、智能、灵活于一体的AI视觉算法盒。这款革命性的产品,旨在通过智能化升级传统网络摄像机,为各行各业提供前所未有的安全监控与智能分析能力,让安全…

SpringCloud构建工程

一、新建数据库和表&#xff0c;并填写测试数据 二、创建父级工程 1、创建maven工程 2、工程名字OfficeAutomation 3、pom.xml文件中添加依赖 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.encodin…

领域驱动DDD三种架构-分层架构、洋葱架构、六边形架构

博主介绍&#xff1a; 大家好&#xff0c;我是Yuperman&#xff0c;互联网宇宙厂经验&#xff0c;17年医疗健康行业的码拉松奔跑者&#xff0c;曾担任技术专家、架构师、研发总监负责和主导多个应用架构。 技术范围&#xff1a; 目前专注java体系&#xff0c;以及golang、.Net、…

第二十节:学习Redis缓存数据库实现增删改查(自学Spring boot 3.x的第五天)

这节记录下如何使用redis缓存数据库。 第一步&#xff1a; 先在服务器端安装redis&#xff0c; 下载地址&#xff1a;Releases tporadowski/redis GitHub。 第二步&#xff1a; 安装redis客户端可视化管理软件redisDesktopmanager Redis Desktop Manager - Download 第…

GAMES101(13节Ray Tracing)

Ray Tracing 基本原理&#xff1a; 我们知道为什么会看到物体的颜色&#xff0c;因为光线照射物体&#xff0c;未被吸收的光线反射到人眼&#xff0c;因此&#xff0c;我们看到的颜色&#xff0c;就是光的一部分&#xff0c;光线追踪就是模拟这个过程 光线假设&#xff1a; …

DHCP协议原理(网络协议)

DHCP简介 定义 DHCP&#xff08;动态主机配置协议&#xff09;是一种网络管理协议&#xff0c;能够自动为局域网中的每台计算机分配IP地址及其他网络配置参数&#xff0c;包括子网掩码、默认网关和DNS服务器等。这一机制极大简化了网络管理&#xff0c;尤其在大型局域网中&am…

聊聊AUTOSAR:基于Vector MICROSAR的TC8测试开发方案

技术背景 车载以太网技术作为汽车智能化和网联化的重要组成部分&#xff0c;正逐步成为现代汽车网络架构的核心&#xff0c;已广泛应用于汽车诊断&#xff08;如OBD&#xff09;、ECU软件更新、智能座舱系统、高清摄像头环视泊车系统等多个领域。 在这个过程中&#xff0c;ET…

CSS 的元素显示模式简单学习

目录 1. 元素显示模式 1.1 概述 1.2 块元素 1.3 行元素 1.4 行内块元素 1.5 元素显示模式总结 2. 元素显示模式转换 3. 单行文字垂直居中 4. 案例演示 1. 元素显示模式 1.1 概述 1.2 块元素 1.3 行元素 1.4 行内块元素 1.5 元素显示模式总结 2. 元素显示模式转换 3. 单…

通过markdown表格批量生成格式化的word教学单元设计表格

素材&#xff1a; 模板&#xff1a; 代码&#xff1a; import pandas as pd from python_docx_replace import docx_replace,docx_get_keys from docx import Document from docxcompose.composer import Composerdef parse_markdown_tables(file_path):with open(file_path,…

DOCKER 数据库管理软件自己开发--———未来之窗行业应用跨平台架构

- 数据异地容灾服务--未来之窗智慧数据服务 DATA REMOTE DISASTER RECOVERY SERVICE -CyberWin Future Docker-数据查看 CyberWin DATA Viewer 1.docker 样式 mysqli://root:密码172.17.0.2:端口/数据库 阿雪技术观 拥抱开源与共享&#xff0c;见证科技进步奇迹&#xff0c;…

AMD小胜!锐龙7 9700X VS. i7- 14700K网游对比

一、前言&#xff1a;两款高端处理器的网游对比测试 半个月前&#xff0c;我们做了锐龙5 9600X与i5-14600K的网游帧率测试&#xff0c;结果有点意外&#xff0c;几款游戏平均下来&#xff0c;锐龙5 9600X比i5-14600K竟然强了19%之多。 今天我们将会对锐龙7 9700X和i7-14700K进行…

【高阶数据结构】二叉搜索树的插入、删除和查找(精美图解+完整代码)

&#x1f921;博客主页&#xff1a;醉竺 &#x1f970;本文专栏&#xff1a;《高阶数据结构》 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多《高阶数据结构》点击专栏链接查看&a…

【鸿蒙】HarmonyOS NEXT开发快速入门教程之ArkTS语法装饰器(上)

文章目录 前言一、ArkTS基本介绍1、 ArkTS组成2、组件参数和属性2.1、区分参数和属性的含义2.2、父子组件嵌套 二、装饰器语法1.State2.Prop3.Link4.Watch5.Provide和Consume6.Observed和ObjectLink代码示例&#xff1a;示例1&#xff1a;&#xff08;不使用Observed和ObjectLi…

Windows11家庭版修改用户密码策略为永不过期。

今天有个朋友找到我说&#xff0c;他的电脑密码老是过期然后需要修改&#xff0c;让我帮忙改一下密码策略&#xff0c;改为永不过期。 下面就来操作一下吧。 这里有个小小的坑&#xff0c;就是win11的家庭版是没有 gpedit.msc的&#xff0c;也就不能直接cmd打开本地策略便器&…

【WebGis开发 - Cesium】获取视野中心点,并设置顶视图视角

引言 项目开发过程中遇到一个需求&#xff0c;通过一个按钮切换视角为顶视图。 分析了一下这个模糊的需求&#xff0c;首先没有给出切换顶视图后俯视的区域范围&#xff0c;其次没有给出俯视点的高度。 这里可以粗略的认为当前的侧俯视的角度下观看的范围即为俯视的区域范围&am…

视频美颜SDK核心功能解析:打造高效直播美颜工具方案详解

随着直播行业的迅猛发展&#xff0c;用户对于直播画质和个人形象的要求越来越高。视频美颜SDK作为一项关键技术&#xff0c;已经成为各大直播平台和短视频应用的重要组成部分。通过实时美颜技术&#xff0c;用户能够在直播过程中呈现出更加理想的形象&#xff0c;从而提升直播体…

实验一:Windows下的IIS服务器配置和管理

第一次实验隐藏关很多&#xff0c;稍不留神服务器就寄了。 实验一完成后会有联网问题&#xff0c;问题解决详见番外篇。 实验内容 任务一&#xff1a; 1、建立一个基于主机名www.study.com的站点&#xff0c;站点的主目录为C:\inetpub\wwwroot&#xff0c;给站点建立一个虚拟…

Codeforces Round 973 (Div. 2) F1. Game in Tree (Easy Version)(思维题 博弈)

题目 思路来源 乱搞ac 题解 两个人的策略是一样的&#xff0c;把1到u的路径标记&#xff0c; 如果能走旁边的链&#xff08;也就是当前点&#xff0c;刨去标记链以外的子树中最长的链&#xff09;&#xff0c; 使得对面走剩余的连通块无法比你大&#xff0c;就走旁边的链&…

业务资源管理模式语言16

示例&#xff1a; 图25 描述了PayForTheResourceTransaction 的一个实例。其中&#xff0c;“Sale”扮演“Resource Transaction”&#xff0c;“Accounts Receivable”扮演“Payment”。 图25——PayForTheResourceTransaction 模式实例 相关模式&#xff1a; PayForTheRes…

特殊类的设计与类型转换

特殊类的设计 1.请设计一个不能被拷贝的类 拷贝只会放生在两个场景中&#xff1a;拷贝构造函数以及赋值运算符重载&#xff0c;因此想要让一个类禁止拷贝&#xff0c;只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。 C98 C98是怎么设计的呢&#xff1f; class Cop…