Hallo Forum,
Ich habe gerade mal mit nem AVR mega8 rumgespielt. Beim Programmieren
habe ich DDRC=&B00000000 eingegeben. Ich dachte mir der Reset lässt sich
aus dem Programm nicht als I/O-Pin deklarieren. Ich dachte das geht nur
über die Fuses. Jetzt habe ich aber das Problem das sich der Controller
nicht Programmieren und Reseten lässt. Kaputt ist er nicht denn das
voher draufgespielte Programm läuft. Ich habe den Controller immer mit
einem Parallel->ISP Kabel Programmiert. Ohne Schutzwiederstände oder IC
dazwischen.
Jetzt habe ich im Internet gelesen das die Paralelle Schnitstelle mit
12V arbeitet und das schon HV-Programming wäre. Aber funktionieren tut
es trotzdem nicht.
Muss ich noch irgendetwas am Controller machen bevor er sich
HV_Programmieren lässt?
Gruß
Robin T.
Robin T. wrote:
> Hallo Forum,>> Ich habe gerade mal mit nem AVR mega8 rumgespielt. Beim Programmieren> habe ich DDRC=&B00000000 eingegeben. Ich dachte mir der Reset lässt sich> aus dem Programm nicht als I/O-Pin deklarieren.
Tut er auch nicht...
> Ich dachte das geht nur über die Fuses.
Genau!
> Jetzt habe ich aber das Problem das sich der Controller> nicht Programmieren und Reseten lässt. Kaputt ist er nicht denn das> voher draufgespielte Programm läuft. Ich habe den Controller immer mit> einem Parallel->ISP Kabel Programmiert. Ohne Schutzwiederstände oder IC> dazwischen.> Jetzt habe ich im Internet gelesen das die Paralelle Schnitstelle mit> 12V arbeitet und das schon HV-Programming wäre. Aber funktionieren tut> es trotzdem nicht.
Hä???
DDRC=&B00000000
Das ist schon mal totaler Stuss, die Richtungsregister sind naemlich
8-bittig. Und was soll das & an dieser Stelle?
Ich wuerde Dir mal vorschlagen Du liest Dich mal in den Grundlagen ein
;)
Und denke darueber nach Dir ein brauchbares Programmiergeraet zuzulegen,
das hat noch keinem geschadet.
Und der Reset-Pin funktioniert, solange Du die fuses richtig gesetzt
hast, die Schaltung richtig verdrahtet hast, der Reset-Vektor korrekt
initialisiert wurde und Dein Controller durch Deine versuche nicht
defekt ist.
Michael
Robin T. wrote:
> Ähm bei mir sind 00000000=8 Nullen. Das &B heißt Binär. Also wer keine> Ahnung hat einfach klappe halten.>> Benutze BASCOM-AVR
Werd mal nicht frech, sonst hilft Dir irgendwann niemand mehr. Du hast
bisher mit keinem Wort BASCOM erwähnt! Dann brauchste Dich (v.a. in
diesem Forum) nicht zu wundern, wenn jemand einen Fehler vermutet. Wenn
Du BASCOM für selbstverständlich hältst, dann geh doch ins
Bascom-Forum...
Pass ma auf mein Jung. Wer hier offensichtlich keine Ahnung hat und die
Klappe aufreisst, steht wohl ausser Frage.
Ich denke nicht dass dieses Forum Kiddies wie Dich braucht.
Wenn Du Hilfe willst lern Anstand und formuliere das Problem so, dass
man es beantworten kann, ohne 50% der Fakten zu erraten.
> Jetzt habe ich im Internet gelesen das die Paralelle Schnitstelle mit> 12V arbeitet und das schon HV-Programming wäre.
Wer sagt denn sowas?
Heutzutage musst du schon froh sein, wenn die parallele Schnittstelle
(sofern sie überhaupt noch vorhanden ist), die standardmässigen 5V
liefern kann.
Kann ich gerne geben. Aber wofür? Das Ding steckt im Steckbrett hatt ein
paar LED's und nen Pullup am Reset. Aber ich habe seit dem letzen
erfolgreichem Programmieren nichts an der Hardware geändert. Aber ich
mache trotzdem mal schnell nen Plan.
1k? Kommt mir etwas wenig vor... versuche es mal mit 10k. Und wie hast
Du Deinen Programmer angeschlossen? Das Wesentliche fehlt, denn das ist
es ja, was Deiner Aussage nach nicht funktioniert.
Es ist uebrigens ueblicher, Spannungen zu "sinken" und nicht zu
"sourcen", ansonsten muessen auch hier die Ports korrekt konfiguriert
sein. Nur als Hinweis.
Michael
Ich nehme mal an dass der Programmer versagt weil der Pullup zu klein
ist... aber zwecks mangelnder Information kann man nur raten. Ich kann
mir nichteinmal sicher sein ob es ueberhaupt versagt.
So hier ist neuer Schaltplan. Ich habe Reset Pullup auf 10k erhöht hat
aber auch nicht funktioniert. Aber wie gesagt voher hats mit dem 1k ja
auch die ganze Zeit geklappt. Die Verbindung vom ISP Stecker zum
Paralellport ist standard. Also ohne Schutzwiederstände oder IC. Aber
fall benötig zeichne ich auch diese verbindung mit ein.
Aber es hat doch IMMER funtioniert!
Aber ok. Auf lange sicht gesehen hatte ich das sowieso vor. Dann werd
ich dass wohl bald machen. Auch wenn ich glaube dass das nichts ändern
wird. Es sei denn ich bau mir gleich nen HV-Programmer.
Kann man den AVR immer mit HV Programmieren, oder schadet ihm das auf
lange sich?
Aber jetzt funktioniert es offensichtlich nicht mehr, was? Vielleicht
hast Dir den Controller auch geschrottet damit. Was passiert denn, wenn
Du Reset manuell auf Masse ziehst? Wenn da garnichts passiert Du bist
sicher, obige Punkte beachtet zu haben, ist der Controller defekt.
Robin T. wrote:
> Kann man den AVR immer mit HV Programmieren, oder schadet ihm das auf> lange sich?
Wenn du jedesmal den AVR zum Programmieren in das Programmiergerät
stecken willst, kannst du das gerne machen...
Wenn ich ein Draht direkt von Reset nach Masse mache läuft das voher
draufgespielte Programm schön weiter.
@Benedikt: Aber programmiert der HV Programmer nicht über die ISP
schnitstelle?
Hier: http://www.der-hammer.info/hvprog/ steht das ISP und Paralelle
HV-Programmierung möglich ist.
Robin T. wrote:
> Paralellport ist standard. Also ohne Schutzwiederstände oder IC.
Ja das hab ich auch mal gemacht (in einem anderen Zusammenhang).
Der Effekt war, dass ich den par. Port durch einen versehentlichen
Kurzen geschrottet habe.
>Wenn ich ein Draht direkt von Reset nach Masse mache läuft das voher>draufgespielte Programm schön weiter.
Dann hast du Vcc und Gnd vertauscht. Der Reset Low-aktiv.
MW
Robin T. wrote:
> Wenn ich ein Draht direkt von Reset nach Masse mache läuft das voher> draufgespielte Programm schön weiter.
Dann hast Du den Controller entweder verfust oder er ist defekt. Ein
Initialisierungsproblem mit dem Reset-Vektor wuerde ich hier eher als
unwahrscheinlich betrachten...
@Robin
1. Die Parallelschnittstelle des Rechners arbeitet nur mit TTL-Pegel
d.h. maximal 5 Volt liegen dort an. (An neueren Rechnern sogar nur noch
3,3Volt)
2. HV-Programmierung ist das Programmierverfahren. (Das hat nichts damit
zu
tun, ob der MC über die serielle oder parallele Schnittstelle
programmiert
wird. Dort werden auch nicht MOSI, MISO und SCLK verwendet, sondern
andere
Portleitungen)
Lade Dir das Datenblatt vom Atmega8 und suche dort drin nach "Parallel
Programming". Da steht, was, wo, wie anliegen muß.
Hast Du noch einen neuen Atmega8? Wenn ja, setz den rein und versuche
ihn
auszulesen, so wie er ist.
Trotzdem können ein paar Schutzwiderstände in den Leitungen zum
Parallelport nichts schaden. Wenn der erst einmal "abgeschossen" ist,
hast Du schlechte Karten.
MfG Paul
Naja aber da das Programm läuft ist vlt. nur der Reset kaputt und man
könnte ihn immernoch HV-Programmiern. Wegwerfen mach ich erst wenn
nichts mehr funktioniert.
Das ist ein Halbleiter... Du kannst nicht sicher gehen dass nicht mehr
defekt ist. Und wenn er defekt ist dann liegt es an Deinem Aufbau oder
Programmer... das solltest Du pruefen bevor der naechste huepft. Geht es
denn mit einem neuen Controller wie erwartet?
Das erinnert mich an das alte Lied: "Wenn der Topf aber nun ein Loch
hat, liebe Liese......."
Hier ist ein Link:
http://elm-chan.org/works/avrx/report_e.html
Diesen HV-Programmer habe ich seit ca. 2 Jahren. Der Aufbau lohnt sich.
Der hier:
http://www.obdev.at/products/avrusb/avrdoper.html
geht auch gut.
Auf die Dauer ist es besser, sich ein Gerät mit USB-Schnittstelle zu
bauen,
da das auch an neueren Rechnern funktioniert.
MfG Paul
Naja wenn Dein Programmer Mist gebaut hat kannste nicht wissen was da
passiert ist. Also auf die Art kommen wir hier nicht weiter, ich klink
mich mal aus...
Dann gibt es nur drei möglichkeiten:
- du hast dich verzählt und versuchst über den falschen Pin zu resetten.
- du hast dich irgendwo irgendwann verklickt und hast die reset-enable
Fuse erwischt.
- teildefekt im Controller
Wenn du sicher bist, daß du den Reset-Pin erwischst und der Controller
partout nicht drauf reagiert, wenn du daran das selbe GND-Signal legst,
wie der Controller selbst hat, kommst du jedenfalls so nicht weiter.
Entweder legst du dir nen neuen Controller oder einen neuen Programmer
zu.
Halte mal den Resetpin auf Masse während du im VCC gibst und halte
Reset auf Masse. Rennt der Controller dann noch ist er im Eimer oder
komplett verfused.