目录
Arduino IDE——SPI向两个slave的其中一个发送数据
PKE8720DF-C13-F10开发板SPI功能简介
PKE8720DF-C13-F10 支持摩托罗拉 SPI 串行接口操作,支持主机或从机的操作模式。提供了两个 SPI 端口:
- SPI0(高速):配置为主机或从机,最大波特率 50MHz
- SPI1(正常速度):配置为主机,最大波特率 25MHz
SPI 一共有 4 根线,分别是 MOSI(PB18 / PA12)、MISO(PB19 / PA13)、SCLK(PB20 / PA14)和 CS/SS(PB21 / PA15):
- MOSI (Master Output Slave Input):master 数据输出,slave 数据输入
- MISO (Master Input Slave Output):master 数据输入,slave 数据输出
- SCLK (Serial Clock):时钟信号,由 master 产生
- CS/SS (Chip Select / Slave Select):片选信号,由 master 控制。当一个 master 连接多个 slave 时,CS/SS是 slave 是否被 master 选中的控制信号
下图是一个 master 连接两个 slave 的示意图:
Figure 1. 一个 master 连接两个 slave 示意图
Arduino IDE——SPI向两个slave的其中一个发送数据
Arduino IDE 配置方法以及 PIN 脚对应关系已经在之前的文章中进行了详细的介绍:使用PKE8720DF-C13-F10实现Arduino example——Button_deer_vickey的博客-优快云博客
1)所需材料
- 3 × PKE8720DF-C13-F10开发板
- 3 × USB转type-C数据线
- 1 × 面包板
- 11 × 杜邦线
2)电路连接
一块板子的 SPI1 作为 master,PB22 和 PB23 分别为 slave 1 和 slave 2 提供片选信号;另外两块板子的 SPI0 作为 slave:
- Master board 的 SPI1_MOSI (PA12),SPI1_MISO (PA13),SPI1_SCLK (PA14) 都通过面包板,分别连接到两块 Slave board 的 SPI0_MOSI (PB18),SPI0_MISO (PB19),SPI0_SCLK (