-
时钟
- 定义
周期型的0、1信号
时钟信号由"心脏"时钟源产生,通过"动脉"时钟树传播到整个芯片中。
SYSCLK系统时钟,由HSI、HSE、PLLCLK三选一。
HCLK是AHB总线时钟, PCLK是APB总线时钟。
使用某个外设,必须要先使能该外设时钟 - 系统时钟配置

- 作用
- 实现芯片里电路同步。 寄存器在时钟上升沿时,把最终运算结果写入寄存器,即把寄存器输入端(值稳定)传给输出端。串口需要固定的波特率通信,IIC需要时钟线。
- 决定数字电路的运行速度
- 时钟源
- 晶振(HSE高速外部时钟),使用PLL(锁相环)倍频
- RC 振荡电路(HSI高速内部时钟),精度相对较差
- 定义
-
寄存器
寄存器是特殊的存储器,可以实现对单片机各个功能的控制。寄存器就是单片机内部的控制机构。
-
APB总线协议
APB 看成一种"线",这种线是来连接两个设备,一个是master,一个是slave,所有数据传输都是master来控制,slave来回应。
数据传输在PCLK时钟上升沿进行
进行一次数据传输至少需要两个时钟周期
-
UART总线协议
通信过程:
交叉连接两台设备的TXD、RXD
配置两台设备的波特率、停止位、奇偶校验位,保持一致
发送数据,从起始位到结束位,整个数据包以串行的方式,从发送设备端送至接收设备端
接受端以预配置的波特率 对数据线进行采样,
接收设备采样的数据,首先会丢弃数据帧中的起始位、奇偶检验位和停止位,剩下的是有效数据位
全双工通信
缺点:异步通信*(无时钟线),和UDP类似,无法确保接收端收到数据
-
I2C总线协议
使用示波器和逻辑分析仪调试
用示波器观察总线上的波形是否有畸变
用逻辑分析仪做数据解析。
半双工通信
-
中断
- NVIC相关寄存器:
- 中断使能寄存器,打开中断,每个位对应一个外部中断
- 中断除能寄存器,关闭中断,每个位对应一个外部中断
- EXTI相关寄存器
- 中断屏蔽寄存器,位值为0表示屏蔽相应线上的中断请求,位值为1表示开放相应线上的中断请求
清除 - 请求挂起寄存器, 状态标记,可以用来清除状态。位值为0表示相应线上没有触发中断请求,位值为1表示相应线上触发请求。在中断处理函数中可以通过写入位值1来清除中断标记,把相应值变成0。
- 中断屏蔽寄存器,位值为0表示屏蔽相应线上的中断请求,位值为1表示开放相应线上的中断请求
- 使用中断

- NVIC相关寄存器:
-
音频codec芯片
Soc使用I2C协议读写codec芯片的寄存器,来配置codec芯片。 使用I2S协议传输音频数据。
播放时,DMA的方向是内存到外设, 目的地址是I2S的数据寄存器,然后使用I2S协议把音频数据发送到codec芯片
嵌入式驱动学习
qq_288086972025-05-10 18:29
相关推荐
万物智能信息科技15 分钟前
血氧心跳传感器MAX30100芯片驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】沫璃染墨2 天前
《从零入门Linux系统篇(五十八):线程篇·十一——线程安全与死锁详解:从可重入到多锁管理》ebiobiz2 天前
Zig 工具链编译 STM32 开发指南sukalot2 天前
Windows 驱动实例分析系列:libwdi 驱动分析 - 应用篇(一)Carl_奕然2 天前
【智能体】Loop 的四种设计模式之:Event-Driven Loop(2026 最新版)gwf2163 天前
Completion Queue(CQ)与中断处理:轮询、中断聚合与错误码 —— 面向AI集群的驱动级深度剖析kakakahahahaha3 天前
Windows鼠标失灵排查:Ctrl Alt Delete、Mouse Keys、USB控制器与驱动修复傲世仙尊3 天前
TCP报头全解-序号确认应答与可靠性是一个准数sukalot4 天前
Windows 驱动实例分析系列:libwdi 驱动分析 - libwdi 篇(五)沫璃染墨4 天前
《从零入门Linux系统篇(五十六):线程篇·九——生产者消费者模型:从条件变量到BlockingQueue实现》