stm32 USART-中断回显实验 Q&A

__weak void HAL_MspInit(void)

确保各个硬件模块在合适的时钟、中断和电源管理设置下正常工作,在有些需求下可由用户在该函数下自定义这些配置;

SCB寄存器:

位于内核中,可用来配置NVIC优先级的寄存器,是HAL库函数HAL_Init函数中的内容;

MspInit(Microcontroller Support Package):

提供可定制化的初始化入口,负责处理与特定硬件紧密相关的初始化任务;

初始化GPIO函数中寄存器配置的实现方式:

1.检查结构体参数是否正确使用;

2.中间变量读取寄存器初始值;

3.清零在中间变量中配置位;

4.将结构体中的配置值写入中间变量;

5.将中间变量的值写入寄存器;

回显实现过程:

当USART1接收到数据触发中断后,中断处理函数会读取接收到的数据,然后立即将其写回发送寄存器,从而实现将接收到的数据回显给发送端的功能;

用USART发送或接收数据包括:

1.中断服务函数接收或发送

2.重定向printf与scanf函数到串口,然后使用这两个函数;

前者是在中断服务函数中编写数据收发过程,后者是在用户文件下中编写数据收发过程;

但是不能同时使用否则会冲突,比如同时使用中断和printf函数重定向发送数据;

相关推荐
szxinmai主板定制专家34 分钟前
基于 RK3588 + Xilinx Kintex-7 FPGA 异构工业主控板设计方案
arm开发·人工智能·嵌入式硬件·fpga开发·zynq
我是一棵无人问荆的小草41 分钟前
LM393DT比较器输出
单片机·嵌入式硬件
云泽8081 小时前
深入浅出 STM32(十三):从施密特触发器到四种输入配置的底层逻辑
stm32·单片机·嵌入式硬件
Rambo.xia2 小时前
RFSoC高速采集卡设计项目:一块板卡串联综合优化5大核心技术
单片机·嵌入式硬件·fpga开发
XMAIPC_Robot2 小时前
RK3588+STM32:高性能机器人运动控制解决方案,兼顾实时性与AI算力
人工智能·stm32·嵌入式硬件·算法·fpga开发·机器人·arm+fpga
天吾cc2 小时前
RTT-MQTT
网络·单片机·嵌入式硬件·算法
国科安芯3 小时前
星上能源管家:AS32S601辐射加固MCU在卫星电源管理中的性能解析
单片机·嵌入式硬件·能源·抗辐射加固
茯苓gao3 小时前
无感FOC核心原理:没有编码器,电机如何获得转子电角度?
笔记·嵌入式硬件·学习
Rsingstarzengjx4 小时前
STM321MP157 笔记
stm32·嵌入式硬件·stm32mp157
铅笔小新z4 小时前
【stm32】串口轮询模式数据收发
stm32·单片机·嵌入式硬件