www.mikrocontroller.net

Forum: Compiler & IDEs SPI-Funktion falsch?


Autor: ElGreco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich möchte einen ad9833 (dds-chip) per spi mit einem atmega32 @16MHz
ansteuern. mit meiner spi-funktion zeigt er allerdings absolut keine
reaktion.
ich programmiere den uC per spi über den pc-parallelport. der ad9833
hängt an den selben pins dran, und bekommt demnach auch alle daten ab
die beim programmieren für den avr bestimmt. das komische daran ist,
dass er während der programmierphase jede menge an output liefert, er
scheint also problemlos daten erhalten zu können. allerdings nur nicht
mit meiner spi-funktion!
ich wüsste nicht was daran falsch sein sollte, help please! :)

void spiMasterInit(void)
{
  SPI_DDR |= (1<<SPI_SS_PIN)|(1<<SPI_MOSI_PIN)|(1<<SPI_SCK_PIN);
  //spi ena, master, fosc/16 = 1MHz bei 16MHz
  SPCR = (1<<SPE)|(1<<MSTR)|(1<<CPOL)|(1<<CPHA);
  SPI_PORT |= (1<<SPI_SS_PIN);
}

void spiSendWord(unsigned int data)
{
  SPI_SS_LOW();

  SPDR = (data>>8) & 0xFF;
  while(!(SPSR & (1<<SPIF)));

  SPDR = data & 0xFF;
  while(!(SPSR & (1<<SPIF)));

  SPI_SS_HIGH();
}

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lass mal das CPHA und CPOL weg, es sollte mit dem SPI Mode 0
funktionieren.

Autor: ElGreco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die antwort, aber der fehler lag in meiner unachtsamkeit...
hatte in den defines 2 pins vertauscht

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.