Probleme einfache Programmierung STK500 Atmega8

OP #3185922
Lesenswert?
• ▲
▼
Tag zusammen,

ich habe angefangen das Tutorial durchzuarbeiten. Leider habe ich im 
ersten Kapitel  I/O Grundlagen schon Probleme. Ich habe mir auf einem 
Steckbrett die Grundschaltung (siehe 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment) 
aufgebaut und diese mit LED's und Tastern erweitert (Kapitel Eingabe bei 
I/O Grundlagen).
Weiterhin habe ich den Quellcode 1 zu 1 ins Atmel Studio kopiert und 
über ein STK500 auf den Controller geflasht. Wenn ich den Taster an PD0 
betätige (dann soll eigentlich nur PB0=0 werden) wird ebenfalls der 
PB5=0. Manchmal wird PB5 auch 0 (also LED geht an) wenn ich nichts 
drücke. Ich habe alles zig mal kontrolliert, keine Brücken oder 
Kurzschlüsse. Auch wenn ich die LED an PB5 entferne, wird der Ausgang 0. 
Ähnlich verhält es sich mit PD3 und PB4, Anstatt das nur PB3 0 wird, 
wird auch PB4=0. Das es was mit dem ISP zu tun hat schließe ich aus, da 
auch diese Phänomene auftreten, wenn ich die Schaltung mit Batterie 
betreibe und sie vom Stk500 getrennt ist.
Welches Problem ist das und wo kann ich nach Lösungen suchen??
#3185949
Lesenswert?
• ▲
▼
Marcel L. schrieb:


> Weiterhin habe ich den Quellcode 1 zu 1 ins Atmel Studio kopiert

welchen?
Den hier
http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Eingabe

> und
> über ein STK500 auf den Controller geflasht. Wenn ich den Taster an PD0
> betätige (dann soll eigentlich nur PB0=0 werden) wird ebenfalls der
> PB5=0. Manchmal wird PB5 auch 0 (also LED geht an) wenn ich nichts
> drücke.

Das ist ok.
Du hast nur an den ersten 4 Pins einen Taster (und einen externen 
Pullup). Du hast doch die erste Schaltung mit den externen 
Pullup-Widerständen genommen, oder?

Der springende Punkt ist der, dass in diesem Programm keine internen 
Pullup-Widerstände gesetzt sind. D.h. an allen Pins, an denen nichts 
hängt (PD4 bis PD7) kann alles mögliche passieren. Die Eingänge sind 
offen und je nachdem wie gerade der Wasserstand in der Donau ist, der 
Fernseher eingeschaltet ist, dein Handy sich gerade was mit dem 
Telefon-Provider aushandelt, ... fängt sich so ein offener Eingang alles 
mögliche an elektromagnetischer Strahlung aus der Umgbung ein.
PD5 ist ein offener Eingang und mittels

    in r16, PIND
    out PORTB, r16

wird der komplette Port, also auch der Zustand aller offenen Eingänge 
vom Port D auf den Port B 'gespiegelt'. Deine PB5 zeigt dir also gerade 
an, dass sich der offene Eingang etwas 'eingefangen' hat.


> Ähnlich verhält es sich mit PD3 und PB4, Anstatt das nur PB3 0 wird,
> wird auch PB4=0.

Selbe Ursache. Kein Grund zur Panik.
Merk dir daraus: ein Eingang an dem nichts hängt, ist nicht sicher 
gestellt, dass er sich mit 0 meldet.

Schliess deine Taster mal ohne externen Pullup an, so wie das dann in 
weiterer Folge gezeigt wird und schalte dafür den internen Pullup am 
kompletten Port D ein.
OP #3186692
Lesenswert?
• ▲
▼
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH, schon 10 mal davon gelesen aber 
wenn das Problem vor der Tür steht erkennt man es nicht. Klar 1-4 lässt 
sich sauber schalten, weil dort Taster dran hängen (mit Widerstand). 
Aber da durch die Software nicht nur 1-4 sondern der komplette Port 1-8 
angesprochen wird, habe ich an den hinteren diese Effekte.

Karl Heinz Buchegger schrieb:
> welchen?
> Den hier

Ja genau diesen habe ich. Hatte auch schon selbst versucht einzelnen 
Pins anzusprechen, aber auch dabei traten merkwürdige Sachen auf. Aber 
das wird wohl alles die gleiche Ursache gehabt haben. Vielen Dank

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.