www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fehlerbeschreibung SPI brauche Rat


Autor: Stefanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Folgenden versuche ich systematisch den Fehler zu finden. Ich hoffe 
ihr könnt mir helfen, da ich seit Tagen nicht weiter komme.

Ausgangslage:
Atmega1280 + Codevisioncompiler

Folgendes ist an der SPI-Schnittstelle angeschlossen:
-Temperatursensor
-Display
-Flash-Speicher
-Drucksensor

Das Display funktioniert über die SPI-Schnittstelle. Nun möchte ich den 
Drucksensor auslesen, der aber nicht reagiert.

>> ich habe mir folgendes REINES Testprogramm geschrieben, um zu überprüfen, ob 
der Drucksensor richtig angeschlossen ist:

Alles Pins als Eingänge, keine SPI, nur UART für die Testausgabe.
SCK (PB1), MOSI(PB2), MISO(PB3) als Ausgänge geschalten.
und folgende Tasten zugeordnet:
T1: PINB.1=0;
T2: PINB.1=1;
T3: PINB.2=0;
T4: PINB.2=1;
T5: PINB.3=0;
T6: PINB.3=1;

Folgendes habe ich gemessen und beobachten können:
PINB.1 funktioniert.
PINB.2: lässt sich mit T3 nicht auf 0 schalten, doch wenn man T4 drückt, 
toggelt der Ausgang von 0-5V-0V usw. (Obwohl laut meinem Code immer nur 
PINB.2=1 ausgeführt wird ???!!!?!?!?!)
PINB.3: der verhält sich noch toller!! Toggelt auch nur wenn man T6 
drückt und dann so: 0.4V-1.7V-0.4V-1.7Vusw.

Display habe ich abgesteckt, hilft nichts. Die anderen Sensoren kann ich 
nicht abtrennen.
Die Leitungen zum Drucksensor haben in Reihe einen 330Ohm Widerstand und 
gegen 5V einen 47kOhm Widerstand.

Ich habe aber am Drucksensor und am Atmega1280 das gleiche gemessen.


Bitte um Hilfe/Tipps/Ratschläge!!

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Im Folgenden versuche ich systematisch den Fehler zu finden. Ich hoffe
> ihr könnt mir helfen...

Gerne :-)

1/ Schaltplan deines Aufbaus?

Wenn 1 vorhanden:
  2/ Datenblatt Drucksensor?
  => 1+2: Sensor richtig angeschlossen?

Wenn 1+2 erfolgreich:
  3/Codefetzen mit der Ansteuerung des Drucksensors?
  => 2+3: Sensor richtig angesteuert?

Autor: Stefanie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für deine Antwort.

Ich glaube, es besteht hier ein grundsätzliches Problem, mir ist nun 
nämlich noch folgendes aufgefallen:


Ich habe an PINC.3 eine LED nach dem Beispiel im Anhang angeschlossen.

Nun schreibe ich im Code folgendes:

DDRC.3 = 1;  //als Ausgang setzen
PINC.3 = 1;  //LED einschalten
PINC.3 = 0;  //es passiert gar nichts, die LED bleibt an!!
PINC.3 = 1;  //Die LED geht aus!!

Steuern tu ich es mit 2 Taster > kein Fehler im Timing.

d.h. PINC.3 = 0; hat keinerlei Auswirkungen!
PINC.3 = 1;  schaltet die LED an und wieder aus!!

Wie kann sowas sein???

Da muss doch ein grundsätzliche Schatungsfehler auf dem Board bestehen?!

Mir ist auch aufgefallen, dass die MISO Leitung immer auf GND gezogen 
wird, selbst wenn ein Bauteil Infos auf die Leitung gibt.

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.