www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SPI problem bei CS Leitung


Autor: schurli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Wenn ich bei meinem Atmega64 für ein SPI EEPROM die CS Leitung steuern 
will, funktioniert diese nicht.

Ich habe einen Externen Pullup zwischen EEPROM und AVR, damit die 
Leitung auch während einem Reset high bleibt.

Hier mein Code:

/* I/0 high-low Routinen */
#define CS_LOW    PORTB |= (1<<PINB0)  //set CS high
#define CS_HIGH    PORTB &=~ (1<<PINB0)  //set CS low

void spi_init()
{

/*SPI Pins initialisieren
PB0...CS  output
PB1...SCK  output
PB2...MOSI  output
PB3...MISO  input  
*/

DDRB &= ~(1<<PINB3);    // PortB Pin 3 (SPI MISO)   -> Eingang
DDRB |=  (1<<PINB1);    // PortB Pin 1 (SPI SCK)   -> Ausgang
DDRB |=  (1<<PINB2);    // PortB Pin 2 (SPI MOSI)   -> Ausgang
DDRB |=  (1<<PINB0);    // PortB Pin 0 (SPI CS)   -> Ausgang

CS_HIGH;
CS_LOW;
}



Weder CS_HIGH noch CS_LOW funktinieren (Laut meinem Multimeter auf der 
CS Leitung)

Weiß jemand was da sein könnte?

mfg

Autor: schurli (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Pullup hier dargestellt:

Autor: dummy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>#define CS_LOW    PORTB |= (1<<PINB0)  //set CS high

Was denn nun ? Low oder high ? Kommentar stimmt.

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
dein CS_LOW setzt CS auf high und umgekehrt. is da vllt der fehler?

Autor: schurli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Hinweis!
Es funktioniert trotzdem nicht.
Pin bleibt immer auf high!

Autor: schurli (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe den Fehler schon entdeckt.
Die Software war schuld.

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schurli wrote:
> Die Software war schuld.

Und wer hat die Software erfunden?  ....die Schurlis!

(frei nach "Ricola")

Gruß,
Magnetus

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.