Forum: Mikrocontroller und Digitale Elektronik TINY26 SPI


von Frank Weltz (Gast)


Lesenswert?

Hallo.

Ich hab grad völlig am verzweifeln, da ich den SPI von Tiny26 nicht zum
laufen bekomm. kann mir jemand helfen ????

Hier ist mein code:
1
char status;
2
void init_spi(void)
3
{
4
  DDRA |= (1<<PA6) | (1<<PA7);
5
  DDRB = _BV(PB0) | _BV(PB2);    // setze SCK,MOSI,PB0 (SS) als Ausgang
6
  DDRB &= ~_BV(PB1);              // setze MISO als Eingang
7
  PORTB = _BV(PB2);        // SCK und PB0 high (ist mit SS am Slave
8
verbunden)
9
  PORTA |= _BV(PA6) | _BV(PA7);
10
  //USICR = _BV(SPE) | _BV(MSTR) | _BV(SPR0);  //Aktivierung des SPI,
11
Master, Taktrate fck/16
12
  //status = SPSR;
13
}
14
15
void master_transmit (unsigned char data) {
16
  PORTA &= ~_BV(PA6);            //SS am Slave Low --> Beginn der Übertragung
17
  USIDR = data;                //Schreiben der Daten
18
  for (int i = 0; i< 8; i++)
19
    USICR = (1<<USIWM0)|(1<<USICS1)|(1<<USICLK)|(1<<USITC);
20
  while (!(USISR & (1<<USIOIF)));
21
  PORTB |= _BV(PB0);              //SS High --> Ende der Übertragung
22
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.