-
时钟
- 定义
周期型的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
相关推荐
贝塔实验室1 天前
FPGA 动态重构配置流程thinkMoreAndDoMore3 天前
linux驱动开发(1)-内核模块待什么青丝3 天前
【TMS570LC4357】之相关驱动开发学习记录1Narnat4 天前
Rk3568驱动开发_GPIO点亮LED_12__Benco6 天前
OpenHarmony平台驱动使用(四),GPIO打倒焦虑6 天前
驱动开发学习20250529Despacito0o6 天前
APM32主控键盘全功能开发实战教程:软件部分yan123686 天前
Linux 驱动之设备树项目管理打工人7 天前
高端装备制造企业如何选择适配的项目管理系统提升项目执行效率?附选型案例咸鱼过江10 天前
RK3568DAYU开发板-平台驱动开发--UART