USART im SPI Mode, keinen Takt

Gast #2517992
Hallo alle zusammen,
nach reichlichem Lesen hier im Forum komme ich jedoch alleine nicht 
weiter und hoffe hier Hilfe zu bekommen.
Und zwar möchte ich bei einem ATMEGA168 die USART Schnittstelle im 
SPI-Mode betreiben. Jedoch kann ich mit meinem Oszilloskop keinen Takt 
messen, sprich in meinen Augen läuft die Kommunikation nicht und ich 
weiß leider nicht warum. Hier mein Code:
1
void SPI_USART_Init()
2
{
3
  UBRR0 = 0;
4
  // Setting the XCKn port pin as output, enables master mode. 
5
  DDRD |= _BV(PD4);
6
  // Set MSPI mode of operation and SPI data mode 
7
  UCSR0C = (1<<UMSEL01)|(1<<UMSEL00)|(1<<UCPHA0)|(1<<UCPOL0);
8
  // Enable receiver and transmitter. 
9
  UCSR0B = (1<<RXEN0)|(1<<TXEN0);
10
  // Set baud rate. 
11
  // IMPORTANT: The Baud Rate must be set after the transmitter is enabled 
12
  UBRR0 = 6;
13
}
14

15
unsigned int SPI2_MasterTransfer (unsigned int c1)
16
{
17
  while (!(UCSR0A & (1<<UDRE0))){ asm volatile("nop"); };
18
  
19
  UCSR0A |= (1 << TXC0);
20
 
21
  UDR0 = c1;
22
  
23
  while (!(UCSR0A & (1<<RXC0)));  
24

25
  return UDR0;
26
  _delay_ms(100);
27
}

Hab ich was vergessen in der Initialisierung? Oder hat jemand ein 
Beispiel welches funktioniert hat?

Dankeschön

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.