(五)Proteus仿真STM32单片机串口数据流收发

news2024/12/23 4:20:51

(五)Protues仿真STM32单片机串口数据流收发 – ARMFUN

1,打开STM32CubeMX,找到USART1,配置模式Asynchronous,此时PA9、PA10自动变成串口模式

串口默认参数:115200bps 8bit None 1stop

2,NVIC Settings使能收发中断

3,发送数据流

HAL_UART_Transmit_IT(&huart1, "hello word", 10);

4,接收固定长度数据

//定义一个接收10byte的数组
uint8_t revbuff[10];
//定义一个接收完成中断通知函数,数据接收完成时会被HAL库自动调用
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
//处理10byte数据
}
//初始化启动接收函数
HAL_UART_Receive_IT(&huart1,revbuff,10);

5,接收可变长度数据

//接收固定长度数据是启动接收后必须收到10byte数据才能收到中断完成通知,并且需要再次调用HAL_UART_Receive_IT重新启动后续数据接收,因此很不常用。为了接收可变的数据长度,需要每收到一个byte都产生中断通知,并且不停止接收状态
//定义一个接收1byte的数组
uint8_t revbuff[1];
//定义一个接收完成中断通知函数,数据接收完成时被调用
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
  //处理revbuff[0]1byte数据
}
//初始化启动接收1byte函数
HAL_UART_Receive_IT(&huart1,revbuff,1);
//修改库函数UART_Receive_IT,找到huart->pRxBuffPtr += 1U;删除此行,并替换为这两行HAL_UART_RxCpltCallback(huart);
return HAL_OK;
//这样每次收到新数据都会写到revbuff[0]并通知中断函数,且不会关闭接收状态。

6、Protues仿真使用电脑物理串口,搜索添加器件”COMPIM“,并如图连接

7、配置”COMPIM“选择物理串口,并配置物理串口和单片机端虚拟串口的波特率等参数

git源码:stm32_proutes: Protues仿真STM32单片机教程源码-WWW.ARMFUN.CN

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

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

相关文章

Linux-Docker阿里云镜像仓库失效

写在前面,这个是我很早之前在VmWare安装的Linux7,通过yum 安装的docker,但是今天怎么都无法pull镜像,报错如下。 Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waitin…

在IDEA里用XDebug调试PHP,断点....

做程序开发,调试必不可少,这里最近用到了PHP,顺便写个关于PHP的调试安装使用: 1、首先是PHP先安装xdebug扩展(还有zend的),这个我的工具是IDEA,所以安装方法也相对简单,如果你是用VSCode等应该也是一样,如下图,找到这个PHP->DEBUG 2、直接点上面的Install XDebug 就可以帮你…

Unity网络开发 - C#开源网络通信库PESocket的使用

概述 在现代多人在线游戏中,稳定且高效的网络通信是确保游戏体验的关键。本文将探讨如何利用C#开源网络通信库PESocket来构建一个简单的Unity客户端与.NET控制台服务器之间的实时消息传递系统。通过本例,读者不仅能够了解PESocket的基本用法&#xff0c…

Windows11系统下Sentinel环境搭建教程

目录 前言Sentinel简介Sentinel下载安装Sentinel配置与启动总结 前言 本文为博主在项目环境搭建时记录的Sentinel安装流程,希望对大家能够有所帮助,不足之处欢迎批评指正🤝🤝🤝 Sentinel简介 github主页地址 &#x…

004、合并两个有序数组

0、题目描述 合并两个有序数组 1、法1 数组nums1有m个元素, 直接在下标为m的位置处追加nums2的元素。然后再qsort整体排序。 —— —— qsort函数,(数组首元素地址,排序的个数,排序元素大小, 比较函数&…

Vue】Vue扫盲(四)组件化思想与简单应用

【Vue】Vue扫盲(一)事件标签、事件修饰符:click.prevent click.stop click.stop.prevent、按键修饰符、及常用指令 【Vue】Vue扫盲(二)指令:v-for 、v-if、v-else-if、v-else、v-show 【Vue】Vue扫盲&…

Ruby脚本:自动化网页图像下载的实践案例

随着互联网的快速发展,网页上的内容变得越来越丰富,尤其是图像资源。对于需要大量图像资源的设计师、内容创作者或数据分析师来说,手动下载这些图片不仅耗时耗力,而且效率低下。因此,自动化网页图像下载成为了一个迫切…

3_路由器分组交换知多少?20241009

上次介绍到了路由器的分组交换戛然而止,这次扫盲式介绍下。 1、分组交换的主要特点 分组交换则采用存储转发技术1-11 表示把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前,先把较长的报文划分成…

java-02 数据结构-队列

在Java中,队列是一种常见的数据结构,用于在保持顺序的同时存储和检索数据。Java提供了java.util.Queue接口,它的常见实现包括ArrayDeque、LinkedList和PriorityQueue等。 如果你觉得我分享的内容或者我的努力对你有帮助,或者你只…

元数据 - iXML

在专业的音频和视频制作中,元数据的准确传递对于后期制作和编辑至关重要。iXML(iXML Metadata)是一种开放的、可扩展的元数据规范,旨在在录音设备和数字音频工作站(DAW)之间传递详细的录音信息。 一、什么是…

安卓使用.9图实现阴影效果box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08);

1.安卓实现阴影效果有很多种&#xff0c;一般UX设计会给以H5参数box-shadow: 0 2px 6px 1px rgba(0,0,0,0.08);这种方式提供背景阴影效果&#xff0c;这里记录一下实现过程 2.界面xml源码 <?xml version"1.0" encoding"utf-8"?> <layout xmlns…

小北的技术博客:探索华为昇腾CANN训练营与AI技术创新——Ascend C算子开发能力认证考试(中级)

前言 哈喽哈喽,这里是zyll~,北浊.(大家可以亲切的呼唤我叫小北)智慧龙阁的创始人,一个在大数据和全站领域不断深耕的技术创作者。今天,我想和大家分享一些关于华为昇腾CANN训练营以及AI技术创新的最新资讯和实践经验~(初级证书还没拿到的小伙伴,可以先参考小北的这篇技术…

QTableView-mode中嵌入复选框CheckBox

QTableView中嵌入复选框CheckBox 第二种方法&#xff1a;设置QAbstractTableModel的flags()函数法 通过Delegate创建QCheckBox来实现的Check列&#xff0c;只有在该列进入编辑模式时才能够Check/Uncheck。这显然不是我们想要的&#xff0c;网上翻来翻去&#xff0c;在一个国外论…

SpringBoot+Vue智能社区服务小程序

SpringBootVue智能社区服务小程序 SpringBootVue智能社区服务小程序 项目描述 智能社区服务小程序的前台小程序是一个集成多功能的综合性平台&#xff0c;旨在提供便捷、高效的社区服务。以下是关于各个功能的简单介绍&#xff1a; 用户管理&#xff1a;用户管理模块负责社区…

基于SpringBoot+Vue的非物质文化遗产保护与传播系统设计实现【原创】(地图组件)

&#x1f388;系统亮点&#xff1a;地图组件&#xff1b; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构&#xff1a;B/S架构 运行环境&#xff1a;win10/win11、jdk17 前端&#xff1a; 技术&#xff1a;框架Vue.js&#x…

Mysql(五) --- 数据库设计

文章目录 前言1.范式1.1.第一范式1.1.1 定义1.1.2.例子 1.2.第二范式1.2.1 定义1.2.2 例子1.2.3.不满足第二范式可能会出现的问题 1.3.第三范式1.3.1 定义2.3.2 示例 2. 设计过程3. 实体-关系图3.1 E-R图的基本组成3.2 关系的类型3.2.1 一对一关系(1:1)3.2.2 ⼀对多关系(1:N)3.…

Mac 需要杀毒软件?

大部分 mac用户普遍认为 Apple mac 不受病毒和恶意软件的影响。这导致许多 Mac 用户误以为无需为 Mac 安装防病毒软件&#xff0c;但事实并非如此。 在这篇文章中&#xff0c;将深入探讨 Mac 安全性的细节&#xff0c;探索针对 Apple 设备的恶意软件类型&#xff0c;并为您…

高质量SCI论文撰写及投稿丨论文选题、文献调研、实验设计、数据分析、论文结构及语言规范等----AI强大功能

科学研究的核心在于将复杂的思想和实验成果通过严谨的写作有效地传递给学术界和工业界。对于研究生、青年学者及科研人员&#xff0c;如何高效撰写和发表SCI论文&#xff0c;成为提升学术水平和科研成果的重要环节。系统掌握从选题到投稿的全过程&#xff0c;提高论文撰写效率与…

petalinux 自动登陆 自动启动程序

PetaLinux 自动登陆 (1) cd 到项目工程目录下&#xff1b; (2) 运行命令&#xff1a;petalinux-config -c rootfs (3) 依次选择 Image Features -> serial-autologin-root 保存退出 创建APP petalinux-create apps --template install --name init-app --enable编辑文件 …

【环境搭建】MAC M1安装ElasticSearch

STEP1 官网下载ES Download Elasticsearch | Elastic&#xff0c;下载mac m1对应版本的es STEP2 进入bin文件夹&#xff0c;执行./elasticSearch 浏览器输入 127.0.0.1:9200 STEP 3 下载对应Kibana版本&#xff0c;Download Kibana Free | Get Started Now | Elastic 出现报错…