联盟网站制作,百度官方营销推广平台有哪些,hexo 转 wordpress,做logo的比赛网站今天了解了一下SPI总线#xff1a;1.SPI内部结构#x1f50c; SPI 四大核心引脚功能详解1. MOSI (Master Output Slave Input)功能#xff1a;主机输出数据线工作流程#xff1a;主机内部发送数据寄存器 (TxDR) 的数据 → 移位寄存…今天了解了一下SPI总线1.SPI内部结构
SPI 四大核心引脚功能详解1. MOSI (Master Output Slave Input)功能主机输出数据线工作流程主机内部发送数据寄存器 (TxDR) 的数据 → 移位寄存器 → 数据控制单元 → 通过MOSI引脚输出至从机。关键控制数据控制单元受 “顺序” 设置MSB/LSB优先和 “极性/相位” 配置时钟边沿采样影响。用户代码关联
// 用户代码中MOSI配置PB5
GPIO_InitStruct.GPIO_Pin GPIO_Pin_5;
GPIO_InitStruct.GPIO_Mode GPIO_Mode_AF_PP; // 复用推挽输出
2. MISO (Master Input Slave Output)功能主机输入数据线工作流程从机返回的数据 → 通过MISO引脚 → 接收数据寄存器 (RxDR)。状态监测RxNE (Receive Not Empty) 标志当 RxDR 收到新数据时置1触发中断或供CPU读取。用户代码关联
// 用户代码中MISO配置PB4
GPIO_InitStruct.GPIO_Pin GPIO_Pin_4;
GPIO_InitStruct.GPIO_Mode GPIO_Mode_IPU; // 输入上拉
3. SCK (Serial Clock)功能主机输出的同步时钟控制单元时钟控制模块 生成SCK信号受以下参数控制波特率时钟频率由PCLK分频。极性 (CPOL)CPOL0空闲时SCK为低电平CPOL1空闲时SCK为高电平相位 (CPHA)CPHA0数据在时钟第一个边沿采样CPHA1数据在时钟第二个边沿采样用户代码关联
SPI_InitStruct.SPI_CPOL SPI_CPOL_Low; // CPOL0
SPI_InitStruct.SPI_CPHA SPI_CPHA_1Edge; // CPHA0
4. NSS (Slave Select)功能从机片选信号低电平有效工作模式硬件模式由SPI控制器自动控制图示中 “内部NSS”。软件模式用户通过GPIO手动控制图示中 “软/硬NSS” 选择。关键场景传输开始前拉低NSS选中从机。传输结束后拉高NSS释放从机。用户代码关联
// 用户代码中使用PA0模拟NSS软件控制
GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET); // 选中从机W25Q64
SPI_Cmd(SPI1, ENABLE); // 启动SPI传输
⚙️ 辅助功能模块关联引脚中断系统TxE (Transmit Empty)发送寄存器空 → 可写入新数据。RxNE (Receive Not Empty)接收寄存器非空 → 可读取数据。OVR (Overrun)数据覆盖错误 → 需清除标志。
// 用户代码中轮询标志位
while(SPI_I2S_GetFlagStatus(SPIx, SPI_I2S_FLAG_TXE) RESET); // 等待TxE通信方向选择支持多模式图中红框区域2线全双工同时使用MOSI和MISO标准SPI。2线只收仅用MISO从机到主机。单线模式半双工通信共用单数据线。
SPI_InitStruct.SPI_Direction SPI_Direction_2Lines_FullDuplex;主从控制主/从模式决定SCK由谁生成主机SCK输出从机SCK输入。
SPI_InitStruct.SPI_Mode SPI_Mode_Master; // 主机模式引脚功能总结表引脚方向核心功能关键关联模块MOSI主机→从机主机输出数据发送数据寄存器 → 数据控制单元MISO从机→主机主机输入数据接收数据寄存器 → RxNE中断SCK主机→从机提供同步时钟时钟控制CPOL/CPHANSS主机→从机从机选择控制低有效软/硬NSS选择 → 内部控制逻辑深入理解引脚配置此处用的PA15上电后默认功能不是普通IO所以可以改用其它IO口或重映射。2.SPI总线电路结构3.SPI总线通信流程3.1收发流程数据传输顺序有两种3.2时钟模式极性与相位
当SCK开始与结束的电平为低时极性为低当SCK开始与结束的电平为高时极性为高相位第1边沿采集CPHA0数据在SCK的第一个边沿即CPOL变化的第一个边沿被采样。相位第2边沿采集CPHA1数据在SCK的第二个边沿即CPOL变化的第二个边沿被采样。
3.3通信方向