一:spi通信的主要函数
1,int wiringPiSPI(int channel,int speed); 选择一个spi通道(通道0和通道1)进行初始化,设置spi的传输速度(5*1000*100-32*1000*1000),执行失败返回-1
2,int wiringPiSPIDataRW(int channel,unsigned char *data,int len);
该函数执行一个同时读写的操作,通过选定的SPI总线。在data中的数据发送出去的时候,data中同时接收从总线中接收到的数据。
3,int wiringPiSPISetupMode(int channel,int speed,int mode); //增加了可以设置SPI的通信模式
给定一个spi总线,将缓冲区的数据写到
二:实验现象
本实验主要是将spi的MISO和MOSI通过短接线短接起来检测数据是否传输正常:
当将数据线短接时:有数据产生,反之没有数据。
二:实验步骤
1,sudo raspi-config弹出系统配置对话框,使能spi,重新启动树莓派,内核加载成功
2,编写测试程序
(1),初始化wiringPI库;wiringPISetup函数
(2),初始化SPI总线;wiringPiSPiSetup函数
(3),从总线中读写数据;wiringPiSPIDataRW函数
spi2.c
#include
#include
#include
#include
//spi使用前的准备 返回spi的文件描述符
int initSPI()
{
int spiFd; //spi的文件描述符
//初始化所用到