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

server/2024/10/20 15:51:10/

(五)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.ppmy.cn/server/131785.html

相关文章

每天一个数据分析题(四百九十七)- 序列模式挖掘

序列模式挖掘 (sequence pattern mining )是指挖掘相对时间或其他模式出现频率高的模式,典型的应用还是限于离散型的序列。下列哪个选项不属于序列模式的时限约束? A. 最大跨度约束 B. 主键约束 C. 最小间隔和最大间隔约束 D. 窗口大小约…

gbase8s的事务、并发控制、锁机制、隔离级别

一、事务概念 事务是指作为单个逻辑工作单元执行的一系列操作。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更…

软件评测CNAS资质获取流程

软件评测实验室如有意向申请 CNAS 检验机构认可,首先需要依据 CNAS 的认可准则建立管理体系,正式运行6个月以上,自我评估满足 CNAS 认可条件后可向 CNAS 提交申请。软件评测实验室CNAS认可的整体流程如图所示,后面的内容针对每个环…

MySQL索引优化

索引 索引分类: 主键索引唯一索引普通索引组合索引全文索引 主键索引 非空唯一索引,一个表只有一个主键索引;在 innodb 中,主键索引的 B 树包含表数据信息; PRIMARY KEY(key1, key2);唯一索引 不可以出现相同的值…

tp8自带的文件缓存如何配置

TP8自带的缓存是文件缓存。‌ ThinkPHP6默认的缓存驱动是文件缓存,它将缓存数据存储在应用的runtime目录下的cache目录中。文件缓存适用于单机环境下的应用,对于数据量较小且读写频率较低的应用场景,是一种简单有效的缓存方案‌。 ThinkPHP8…

oracle归档日志爆满问题处理

最近客户单位的oracle数据库出了问题,经常出现无法连接,报错提示 ORA-00257: archiver error, Connect internal only, until freed.,手动清除归档日志后可以恢复访问,但是过不了几天依旧会爆满,每日生成的归档日志很大。经过详细…

私域流量运营的误区

私域流量运营是近年来营销领域的重要趋势,但在实际操作中,很多企业和个人容易陷入一些误区。以下是几个常见的私域流量运营误区及其解决方法: 1. 只关注流量,不重视内容 误区:许多运营者认为,只要吸引到足…

Web自动化Demo-Kotlin+Selenium

1.新建工程 打开Aqua,点击New Project选中Kotlin,配置如下: 然后在build.gradle.kts文件中添加依赖 plugins {kotlin("jvm") version "1.9.23" }group "org.example" version "1.0-SNAPSHOT"rep…