SPI学习

1.SPI的物理结构

  • MOSI:主设备输出,从设备输入

  • MISO:主设备输入,从设备输出

  • SCK:时钟信号线

  • CS:设备片选,低电平表示被选择

一个SPI接口可以同时连接多组从设备,只需要增加CS线即可

  • 用CUBEMX设置SPI默认只有3个引脚(没有CS),如果下面开启了NSS,系统会自动给你指定一个CS引脚,否则就要自己指定CS引脚

  • 在通信开始/结束时,手动控制CS引脚的电平

2.SPI工作原理

主机和从机内部都有一个移位寄存器,主机发送数据时,同时也会受到一组数据,不过不需要对该数据处理。主机接收数据时,要给从机发送一组没有意义的数据,同时接收数据。

3.寄存器

相关的寄存器有2组

  • CPOL(时钟极性寄存器):控制高电平还是低电平时空闲状态

  • CPHA(相位控制寄存器):控制是奇数还是偶数跳变是读取数据

这个怎么选一般要看芯片手册

4.SPI的其他参数