请写一段SPI通讯代码
时间: 2024-05-02 14:18:59 浏览: 50
SPI(Serial Peripheral Interface)是一种串行总线接口,常用于连接微控制器和外设。下面是一段示例的SPI通讯代码:
```
#include <SPI.h>
// 定义SPI引脚
const int ssPin = 10; // 片选信号
const int sckPin = 13; // 时钟信号
const int misoPin = 12; // 主机输入从机输出信号
const int mosiPin = 11; // 主机输出从机输入信号
void setup() {
// 初始化SPI
pinMode(ssPin, OUTPUT);
digitalWrite(ssPin, HIGH);
SPI.begin();
// 设置时钟频率为4 MHz
SPI.setClockDivider(SPI_CLOCK_DIV4);
// 设置数据模式为0,即采用标准SPI模式
SPI.setDataMode(SPI_MODE0);
}
void loop() {
// 将片选信号置低,选中外设
digitalWrite(ssPin, LOW);
// 发送一个字节数据
uint8_t data = 0xAB;
SPI.transfer(data);
// 将片选信号置高,断开与外设的连接
digitalWrite(ssPin, HIGH);
}
```
在这段代码中,我们使用了Arduino内置的SPI库来实现SPI通讯。我们需要先定义SPI引脚,然后在setup()函数中初始化SPI,包括设置时钟频率和数据模式。在loop()函数中,我们使用片选信号来选择要通讯的外设,然后使用SPI.transfer()函数来发送一个字节数据。