news 2026/5/13 6:35:06

[STM32U3] 【每周分享】【STM32U385RG 测评】+串口发送、接收数据

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[STM32U3] 【每周分享】【STM32U385RG 测评】+串口发送、接收数据

上篇串口通讯只是打印叔数据,这篇更进一步,将串口发送什么,就打印什么出来
一、查看原理图,确定自己需要的串口信息


还是一样的串口1
二、开始配置软件


上面基础配置结束之后,增加DMA以及NVIC配置


时钟可以根据自己情况,去调整,也可以默认。
到此配置结束,开始生成代码
三、代码调试
1、usart.c中增加如下代码
#include <stdio.h>
/* USER CODE BEGIN 1 */

#ifdef _GNUC_
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)

#else
#definePUTCHAR_PROTOTYPEintfputc(intch, FILE *f)
#endif
PUTCHAR_PROTOTYPE

{

HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,0xFFFF);//阻塞方式打印

returnch;

}
/* USER CODE END 1 */




2、main.c中增加如下代码
#include <stdio.h>

#define RXBUFFERSIZE 256 //最大接收字节数
charRxBuffer[RXBUFFERSIZE];//接收数据
uint8_taRxBuffer;//接收中断缓冲
uint8_t Uart8_Rx_Cnt = 0; //接收缓冲计数
/* USER CODE END Includes */




HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1); //启动串口中断





/* USER CODE BEGIN 0 */
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{

/* 防止未使用的参数编译警告 */

UNUSED(huart);

/* 注意: 需要回调时,不应修改该函数、

可在用户文件中实现 HAL_UART_TxCpltCallback */
if(Uart8_Rx_Cnt >= 255) //溢出判断
{
Uart8_Rx_Cnt = 0;
memset(RxBuffer,0x00,sizeof(RxBuffer));
HAL_UART_Transmit(&huart1, (uint8_t *)"数据溢出", 10,0xFFFF);
}
else
{
RxBuffer[Uart8_Rx_Cnt++] = aRxBuffer; //接收数据转存
if((RxBuffer[Uart8_Rx_Cnt-1] == 0x0A)&&(RxBuffer[Uart8_Rx_Cnt-2] == 0x0D)) //判断结束位
{
printf("USART1收到的数据:\n\r");
HAL_UART_Transmit(&huart1, (uint8_t *)&RxBuffer, Uart8_Rx_Cnt,0xFFFF); //将收到的信息发送出去
while(HAL_UART_GetState(&huart1) == HAL_UART_STATE_BUSY_TX);//检测UART发送结束
Uart8_Rx_Cnt = 0;
memset(RxBuffer,0x00,sizeof(RxBuffer)); //清空数组
}
}
HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1); //再开启接收中断
}

/* USER CODE END 0 */


四、运行效果
将程序下载demo板后,打开串口软件,查看效果


后续继续努力,争取早日完成测评

代码:

代码Core.zip(22.88 KB, 下载次数: 0)



---------------------
作者:LiuDW091
链接:https://bbs.21ic.com/icview-3471474-1-1.html?_dsign=08d70edf
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 6:34:30

三步搞定黑苹果配置:OpenCore Configurator完全指南

三步搞定黑苹果配置&#xff1a;OpenCore Configurator完全指南 【免费下载链接】OpenCore-Configurator A configurator for the OpenCore Bootloader 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Configurator 还在为复杂的黑苹果配置而烦恼吗&#xff1f;…

作者头像 李华
网站建设 2026/5/13 6:34:11

自托管AI编码大脑Synapse:统一记忆、多模型路由与私有RAG部署指南

1. 项目概述&#xff1a;构建你的私有化AI编码大脑在AI编程助手&#xff08;Cursor、Cline、Continue等&#xff09;日益普及的今天&#xff0c;我们享受到了前所未有的编码效率提升。然而&#xff0c;一个核心痛点也随之浮现&#xff1a;记忆的割裂与成本的失控。你是否遇到过…

作者头像 李华
网站建设 2026/5/13 6:27:05

Prompt_Engineering高级技巧实战

Prompt Engineering高级技巧:思维链与少样本学习实战 从基础到进阶,掌握让LLM输出质变的核心技术 前言 很多人用ChatGPT/Claude,停留在"写个提示词让它回答问题"的层面。但真正的Prompt Engineering是一门系统性的技术——如何让LLM推理更准确?如何控制输出格式…

作者头像 李华
网站建设 2026/5/13 6:21:07

观察Taotoken用量看板如何帮助团队透明化管理API成本

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察Taotoken用量看板如何帮助团队透明化管理API成本 作为团队的技术负责人&#xff0c;管理大模型API成本是一项持续且细致的工作…

作者头像 李华
网站建设 2026/5/13 6:20:05

电动航空动力系统解析:从电池电机电控到早期工程实践

1. 电动航空的黎明&#xff1a;从概念到突破的十五年“它只能飞15分钟&#xff0c;但这仍然是一个突破。” 这句话在2010年听起来&#xff0c;像是给一个宏伟梦想泼了盆冷水&#xff0c;但对我们这些当时就在关注航空动力变革的人来说&#xff0c;这15分钟不亚于莱特兄弟“飞行…

作者头像 李华
网站建设 2026/5/13 6:20:04

超不对称GEMM优化:PacQ微架构与量化技术解析

1. 超不对称GEMM的计算挑战与量化技术现状在大型语言模型&#xff08;LLM&#xff09;部署过程中&#xff0c;计算效率与内存占用始终是工程师面临的核心挑战。以Llama2-70B模型为例&#xff0c;当权重采用FP16格式存储时&#xff0c;仅模型参数就需占用131.6GB内存空间。这种资…

作者头像 李华