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

相关推荐
码农小韩1 小时前
基于Linux的C++学习——动态数组容器vector
linux·c语言·开发语言·数据结构·c++·单片机·学习
匠在江湖2 小时前
裸机单片机任务调度器实现:基于规范分层(COM/APP/SRV/DRV)架构,(附 任务调度器 / 微秒延时函数 / 串口重定向 源码)
单片机·嵌入式硬件·架构
点灯小铭2 小时前
基于单片机的智能洗碗机控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计
清风6666664 小时前
基于单片机的电加热炉智能温度与液位PID控制系统设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
一路往蓝-Anbo4 小时前
第五篇:硬件接口的生死劫 —— GPIO 唤醒与测量陷阱
c语言·驱动开发·stm32·单片机·嵌入式硬件
逑之5 小时前
C语言笔记16:文件操作
c语言·笔记·单片机
2401_863326116 小时前
基于单片机智能光控路灯设计
单片机·嵌入式硬件
清风6666666 小时前
基于单片机的球类比赛专用计分与暂停管理系统设计
单片机·嵌入式硬件·毕业设计·课程设计
Y1rong6 小时前
STM32之时钟
stm32·单片机·嵌入式硬件
yuanmenghao7 小时前
自动驾驶中间件iceoryx - 同步与通知机制(二)
开发语言·单片机·中间件·自动驾驶·信息与通信