USI_SPI_IAR.c


1
/* Test application for the SPI-via-USI-driver. */
2
3
//#include "SPI_treiber.c"
4
#include <avr/io.h>
5
#include <avr/interrupt.h>
6
7
8
#define SPIMODE 0  // Sample on leading _rising_ edge, setup on trailing _falling_ edge.
9
//#define SPIMODE 1  // Sample on leading _falling_ edge, setup on trailing _rising_ edge.
10
11
12
unsigned char output;
13
14
15
void main()
16
{
17
  unsigned char val = 0;    // Temp value to send.
18
  spiX_initmaster(SPIMODE);  // Init SPI driver as master.
19
//  spiX_initslave(SPIMODE);  // Init SPI driver as slave.
20
  sei();            // Must do this to make driver work.
21
  do {
22
    spiX_put( val++ );    // Send temp value to SPI and increment,
23
    spiX_wait();      // wait for transmission to finish
24
    output = spiX_get();  // and finally put result on PORTB.
25
  } while(1);          // Loop forever...
26
}