#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#define I2C_SLAVE
0x0703
/*
cc -o test3 test3.c -lwiringPi
*/
int main (void)
{
int fd;
int i;
const char *device;
float a2dVol;
float Vref = 3.3;
unsigned char byte[2];
device = "/dev/i2c-1";
if ((fd = open(device,O_RDWR)) < 0)
{
printf("open
failed:\n");
exit;
}
if (ioctl (fd, I2C_SLAVE, 0x48) < 0)
{
printf("ioctl
failed:\n");
exit;
}
for(i=0;i<255;i=i+25) {
a2dVol=i * Vref
/ 255;
printf("i=%d
a2dVol=%f[V]\n",i,a2dVol);
byte[0]=0x40;
byte[1]=i;
write(fd,byte,2);
sleep(2);
}
}
|