Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual

Page 41

Advertising
background image

KTD-S0057-I

Page 37 Linux® Programming Examples (DebianTM)


KTAM3874/pITX Software Guide


switch

(c)

{

case 'D': device = optarg; break;

case 's': speed = atoi (optarg); break;

case 'd': delay = atoi (optarg); break;

case 'b': bits = atoi (optarg); break;

case 'H': mode |= SPI_CPHA; break;

case 'O': mode |= SPI_CPOL; break;

case 'C': mode |= SPI_CS_HIGH; break;

default: print_usage (argv[0]); break;

}

}
}


int main (int argc, char *argv[])
{

int ret = 0;

int

fd;

parse_opts (argc, argv);

fd = open (device, O_RDWR);

if (fd < 0)

pabort ("Cannot open device");

/* SPI mode */

ret = ioctl (fd, SPI_IOC_WR_MODE, &mode);

if (ret == -1)

pabort ("Cannot set SPI mode");

ret = ioctl (fd, SPI_IOC_RD_MODE, &mode);

if (ret == -1)

pabort ("Cannot get SPI mode");

/* Bits per word */

ret = ioctl (fd, SPI_IOC_WR_BITS_PER_WORD, &bits);

if (ret == -1)

pabort ("Cannot set bits per word");

ret = ioctl (fd, SPI_IOC_RD_BITS_PER_WORD, &bits);

if (ret == -1)

pabort ("Cannot get bits per word");

/* Max speed in Hz */

ret = ioctl (fd, SPI_IOC_WR_MAX_SPEED_HZ, &speed);

if (ret == -1)

pabort ("Cannot set max speed in Hz");

ret = ioctl (fd, SPI_IOC_RD_MAX_SPEED_HZ, &speed);

if (ret == -1)

pabort ("Cannot get max speed in Hz");

printf ("SPI mode: %d\n", mode);

printf ("Bits per word: %d\n", bits);

printf ("Max speed: %d Hz (%d kHz)\n", speed, speed/1000);

Advertising
This manual is related to the following products: