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函数重定向发送数据;

相关推荐
华清远见IT开放实验室19 分钟前
百校同练,虚仿先行 | 2026秋季虚拟仿真“百校同练”实训行动正式启动,100所院校免费申报
人工智能·嵌入式硬件·物联网·具身智能·华清远见·百校同练
wuyk55524 分钟前
样章-第03讲-FreeRTOS在16KB-RAM上的裁剪与陷阱
c语言·开发语言·stm32·单片机·嵌入式硬件·物联网·系统架构
Amelio_Ming26 分钟前
rk3588 pcie驱动分析之二 (pcie设备树节点分析)
linux·嵌入式硬件
霖霖71429 分钟前
【ESP32笔记】LED操作和呼吸灯实现
笔记·单片机·嵌入式硬件
夏虫不可与之言冰32 分钟前
使用Flash Download Tool给ESP32烧录固件
c语言·c++·windows·单片机·物联网·iot
zjxtxdy37 分钟前
STM32hal库开发-GPIO
stm32·单片机·嵌入式硬件
zbyyd44 分钟前
Linux字符设备驱动:LED驱动实战开发
linux·单片机·arm·驱动
碧海银沙音频科技研究院5 小时前
炬芯ATS3089X手表的HFP通话不自动路由到设备BT的问题解决
网络·人工智能·嵌入式硬件·算法
youcans_10 小时前
【STM32C5教程】(3)GPIO 按键输入实验
stm32·单片机·嵌入式硬件
俊基科技11 小时前
回音消不掉、底噪压不住、主板还对不上口?——A-59P 多功能语音处理模组技术解析
嵌入式硬件·回音消除·ai降噪模块