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

相关推荐
悠哉悠哉愿意9 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11019 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元9 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133979 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315209 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
古译汉书10 天前
【IoT死磕系列】Day 7:只传8字节怎么控机械臂?学习工业控制 CANopen 的“对象字典”(附企业级源码)
数据结构·stm32·物联网·http
Alaso_shuang10 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟10 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_9181269110 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z203483152010 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机