PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : interne Pull-Up-Widerstände haben mich ausgesperrt ???



HPM
22.02.2005, 07:49
Hallo Forumler!

Frage: Kann es sein, dass ich mit Aktivierung der internen Pull-Up-Widerstände ich keinen Zugriff mehr auf den µC hab? ](*,)

Ich bin zwar schon ein paar Tage hier im Forum, habe aber die Zeit hauptsächlich erst mal zu lesen genutzt! Ich bin "blutiger Anfänger" was AVR betrifft und wollte erst mal checken, ob mir die Controller-Geschichte was bringt bevor ich viel Geld ausgebe!

Folgendes Szenario:
- Programmierkabel direkt (Ohne IC nur 3 Widerstände)
- Bascom-Demo-Version
- selbst gebautes Versuchsboard mit 4Mhz Quarz
- es befinden sich zusätzlich externe Pull-Ups auf dem Board!

Programmlisting:


$regfile = "2313def.dat" ' Definitionen für AT90S2313
$crystal = 4000000 ' Die Taktfrequenz ist 4 MHz

Config Portb = Output ' Port B auf Ausgang
Config Portd = Input ' Port D auf Eingang

Portb = &HFF ' Alle Ausgänge auf 1
Portd = &HFF ' Pull-Up-Widerstände einschalten

Do ' Endlosschleife
If Pind.6 = 0 Then ' Taster 6 abfragen (gedrueckt = Bit geht auf 0)
Portb.6 = 0 ' Zugehörige LED an
Else
Portb.6 = 1 ' Zugehörige LED aus
End If
If Pind.5 = 0 Then ' Taster 5 abfragen (gedrueckt = Bit geht auf 0)
Portb.5 = 0 ' Zugehörige LED an
Else
Portb.5 = 1 ' Zugehörige LED aus
End If
If Pind.4 = 0 Then ' Taster 4 abfragen (gedrueckt = Bit geht auf 0)
Portb.4 = 0 ' Zugehörige LED an
Else
Portb.4 = 1 ' Zugehörige LED aus
End If
If Pind.3 = 0 Then ' Taster 3 abfragen (gedrueckt = Bit geht auf 0)
Portb.3 = 0 ' Zugehörige LED an
Else
Portb.3 = 1 ' Zugehörige LED aus
End If
If Pind.2 = 0 Then ' Taster 2 abfragen (gedrueckt = Bit geht auf 0)
Portb.2 = 0 ' Zugehörige LED an
Else
Portb.2 = 1 ' Zugehörige LED aus
End If

Loop

Evtl. kann mir jemand bei dem, für Euch bestimmt simplen Problem helfen ???

schmic20
22.02.2005, 09:48
Hallo,

hast Du auch ein Schaltbild dazu?
Wie groß sind denn die externen Pull-up Widerstände?
Wo sind die externen Pull-up Widerstände denn angeschlossen?

Gruß
Michael

HPM
22.02.2005, 10:33
Hallo Michael,
Danke, für deine schnelle Antwort!
Also die Schaltung für das Board habe ich selbst aus mehreren Infos aus dem Internet zusammen gebastelt.
Infos über die Belegung der PullUps hatte ich von http://www.mikrocontroller.net/tutorial/io-basics.htm
wobei ich PD2 bis PD6 mit 5 Tastern und 5x 10k PullUps ausgerüstet hab.
Die Ausgänge sind bei mir PB0 bis PB7 - 8x LED mit 1k Vorwiderstand.
Hat bis jetzt auch mit den LED's funktioniert! Ich habe Lauflicht mit allen 8 LED's getestet und immer wieder überschrieben!
Als ich dann mit den Tastern angefangen hab ist der jeweilige µC nach einmal programmieren nicht mehr ansprechbar gewesen! :(

engineer
22.02.2005, 11:18
Das hört sich erher so an, als habe Deine Programmierschnittstelle etwas abgekriegt ...

HPM
22.02.2005, 11:36
Hallo...,
Kann das sein, dass ich dann trotzdem neue µC's beschreiben kann???
Aber eben nur 1x !
Erst beim 2. Mal Beschrieben habe ich keinen Zugriff mehr!
Ich weiß nicht mehr den genauen Wortlaut der Fehlermeldung!

Ist damit trotzdem ein Schnittstellendefekt möglich??

AlexAtRobo
22.02.2005, 12:12
Was passiert wenn du Taster, Leds, etc abmontierst, kannst du in dann wieder Programmieren?
Ich hatte mal die Mosi, Miso Sck Pins als Ausgänge verwendet. Da die daran angeschlossenen Wiederstände nur 600Ohm hatten, konnte das Programmierkabel die Pegel nicht mehr einstellen. Deswegen mach mal die Hardware ab (Taster, LEDS, etc.). Dann klappts wieder unter Umständen. Wenn es dass war, mußt du höhere Wiederstände benutzen.

lg

Alex

HPM
22.02.2005, 12:32
Hallo Alex,
Jou.... das hab ich noch nicht probiert! Mach ich heute abend gleich!
Werde morgen Bericht abgeben, ob ich damit weiter gekommen bin!

Unabhängig davon werde ich mir aber mal so ein Kabel mit TreiberIC's basteln bevor ich mir meinen Parallelport zerlege!!

HPM
23.02.2005, 05:52
Hallo @lle,
Also, ich habs noch mal getestet! Auch mit abgezogenen PullUps und LEDs geht nix!
Hab aber was anderes gefunden!
Ich habe vergessen zu erwähnen, dass das Brennen mit TWINAVR durchgeführt wird!
Da steht was in der Beschreibung zu meinem Problem!

Wenn im Programm der SCK-Pin auf Ausgang gesetzt wurde und der Pin auf 1 (High) gesetzt ist, kann es sein, daß Programmierzugriffe mißlingen. Man bemerkt dies typisch so, daß man ein Programm das erste mal gebrannt bekommt und danach wird der AVR nicht mehr erkannt. Aufs Minimale reduziert würde ein solches Problem-Programm wie folgt aussehen:

Falls die Schaltung einen AVR-Reset-Taster hat, dann erst Reset-Taster drücken und gedrückt halten (!), danach Spannung einschalten und erst dann Programmierung des AVRs schalten. Sobald der Programmiervorgang gestartet ist, kann der Reset-Taster losgelassen werden, da TwinAVR Reset nach Low zieht.

Das wer ich dan mal tun!
Trotzdem vielen Dank für Eure Hilfe!