test_spi.c


1
void SPI_Init(void){
2
   /* Set !DM, MOSI and SCK output, MISO input */
3
   DDRB |= (1<<PB3) | (1<<PB5) | (1<<PB7);
4
   DDRB &= ~(1<<PB6);
5
   /* Enable SPI, Master, set clock rate fck/16 */
6
   SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR0);
7
}
8
9
void SPI_Transmit(uint8_t cData){
10
   /* Start transmission */
11
   SPDR = cData;
12
   /* Wait for transmission complete */
13
   while (!(SPSR & (1<<SPIF)))
14
      printf("waiting\n");
15
}
16
17
void main(){
18
19
   SPI_Init();
20
   while (1){
21
      printf("sende jetzt\n");
22
      SPI_Transmit(164);
23
      printf("senden fertig\n");
24
   }
25
}