mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI will gar nicht beim AT Mega 16


Autor: Patrick K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin jetzt mal total ratlos.
Ich hab eigentlich nur ein total simplen test machen wollen aber da geht 
nix. Folgender Code:
#define DD_MOSI    PINB5
#define DD_MISO    PINB6
#define DD_SCK    PINB7

//overwrite PortB with SPI
#define DDR_SPI    DDRB



void SPI_MasterInit(void) {
  // Set MOSI and SCKK output, all others input
  DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK);  
  
  //Set SS as output (SS= PB4)
  DDRB|=(1<<PB4);  

  //Enable SPI, Master, set clock rated fclk/16
  SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR0) |(1<<SPR1) ;
}

void SPI_MasterTransmit (char cData){
    
  //Start Transmission
  SPDR = cData;

  //wait for transmission complete
  while (!(SPSR & (1<<SPIF)));
}

int main(){ 

  SPI_MasterInit();
  SPI_MasterTransmit (0xAA);
}

jetzt muesste ich ja zumindest ein signal am SCK sehen nachdem ich reset 
gedrueckt hab. aber es passiert nichts. muss ich irgendwelche fuses 
setzen oder hab ich irgendwas vergessen??


gruss
Patrick

Autor: Patrick K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

#define DD_SS    PINB4
void SPI_MasterInit(void) {
  // Set MOSI SCKK and SS as output, all others input
  DDR_SPI = (1<<DD_MOSI)|(1<<DD_SCK)|(1<<DD_SS);  
  
  //Set SS as output (SS= PB4)
  //DDRB|=(1<<PB4);  

  //Enable SPI, Master, set clock rated fclk/16
  SPCR = (1<<SPE) | (1<<MSTR) | (1<<SPR0);
}

ROFL

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.