mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Avrs verbinden


Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe folgendes Problem:
Ich habe zwei Avr´s (atmega32/atmega16) und gebe auf PA0/PA1 des 
atmega32 ein Signal aus, welches ich beim atmega16 auf PC0/PC1 einlesen 
möchte. Dazu habe ich die Ports beim atmega32 auf Ausgang gestellt und 
beim atmega16 auf Eingang (ich hab Tests mit und ohne Tristate-schaltung 
gemacht). Ich kann mit dem atmega16 jedoch das Signal nicht vernünftig 
erfassen. Liegt für eine längere Zeit ein Port vom atmega32 auf 5V, so 
bekomme ich trotzdem vom atmega16 gesagt, dass 0V am Port anliegt!
Messe ich im angeschlossenen Zustand die Spannung mit einem Multimeter, 
so kann ich eine Spannung von gerade mal 2,53 Volt feststellen. Ist der 
atmega16 nicht angeschlossen messe ich meine normalen 5 Volt!

Kann es sein, dass der atmega16 so viel Strom zieht, auch wenn der Port 
als Eingang geschaltet ist?

Ich freue mich über jeden hilfreichen Beitrag!

Grüße,
Andraes

Autor: Hmm... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan und Quellcode?

Interne Pullups eingeschaltet?

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, das Problem tritt in beiden Fällen auf, egal ob ich den Interne 
Pullup ein oder ausschalte!

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann hast Du die Ausgänge nicht richtig initialisiert. Oder Du hast das 
JTAG Interface am ATMEGA16 nicht abgeschaltet.

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, JTAG ist aus und richtig initialisiert wurden die Ausgänge auch, es 
funktionert auch, wenn ich "künstlich" eine Spannung mit einem Draht 
anlege bzw. wenn ich die spannung am ausgang messe^^

Lassen sich denn Ports allgemein überhaupt so verbinden, oder muss ich 
da transistoren zwischenschalten?

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Natürlich lassen sich Ports direkt verbinden, Du hast in der Software 
oder in der Hardware einen Fehler drin. Poste mal Code und Schaltplan. 
Hast Du denn AVcc und AGND am Mega32 und am Mega16 angeschlossen?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich zitier mal "Hmm...":
>Schaltplan und Quellcode?

Dazu: Sind beide mit dem gleichen GND verbunden?

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke für eure Hilfe! Es funktioniert mitlerweile wie gewünscht. Es 
handelte sich um eine fehlerhafte Optmierung des Compilers...

Grüße,
Andreas

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.