求教树莓派用wiringPi控制SPI口的方法,高分!!
答案:2 悬赏:10 手机版
解决时间 2021-04-07 08:39
- 提问者网友:人生佛魔见
- 2021-04-07 01:42
求教树莓派用wiringPi控制SPI口的方法,高分!!
最佳答案
- 五星知识达人网友:神的生死簿
- 2021-04-07 01:49
#include
#include
#include
void main(void)
{
int spi1;
unsigned char date[2],rec[2];
int spiChannel = 0;
int clock = 1000000;
wiringPiSetup();
spi1 = wiringPiSPISetup(spiChannel,clock);
if(spi1!=-1)
{
printf("Starting SPI Test\n");
printf("Write:\n");
date[0]=0x80;//寄存器地址
date[1]=0x55;//要写的数据
wiringPiSPIDataRW(0,date,2);
printf("date[0] : %d ",date[0]);
printf("date[1] : %d \n",date[1]);
delay(500);
printf("Read:\n");
rec[0]=0x00;//寄存器地址
rec[1]=0x00;
wiringPiSPIDataRW(0,rec,2);
printf("rec[0] : %d ",rec[0]);
printf("rec[1] : %d \n",rec[1]);//返回的数据是这个
}
}
我试过可行的,编译gcc -Wall -o testSPI testSPI.c -lwiringPi
sudo ./testSPI
#include
#include
void main(void)
{
int spi1;
unsigned char date[2],rec[2];
int spiChannel = 0;
int clock = 1000000;
wiringPiSetup();
spi1 = wiringPiSPISetup(spiChannel,clock);
if(spi1!=-1)
{
printf("Starting SPI Test\n");
printf("Write:\n");
date[0]=0x80;//寄存器地址
date[1]=0x55;//要写的数据
wiringPiSPIDataRW(0,date,2);
printf("date[0] : %d ",date[0]);
printf("date[1] : %d \n",date[1]);
delay(500);
printf("Read:\n");
rec[0]=0x00;//寄存器地址
rec[1]=0x00;
wiringPiSPIDataRW(0,rec,2);
printf("rec[0] : %d ",rec[0]);
printf("rec[1] : %d \n",rec[1]);//返回的数据是这个
}
}
我试过可行的,编译gcc -Wall -o testSPI testSPI.c -lwiringPi
sudo ./testSPI
全部回答
- 1楼网友:冷風如刀
- 2021-04-07 02:58
我和你的情况一样,用了大神的程序输出还是0,请问下你知道原因么?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯