Guten Abend, Ich lese nun schon lange in euerem Forum da ich mich seit einigen Wochen mit der Programmierung von µControllern beschäftige. Nun habe ich einige Problem das ich leider nicht alleine lösen kann und bitte euch um Hilfe. Das erste was ich nicht verstehe ist folgendes: Ich benutze einen eigenbau DT-006 Programmieradapter.Der zu programmierende Chip ist ein ATmega32. Ich habe diesen in PonyProg laut tutorial eingestellt, jedoch funktioniert es einfach nicht. Die Fehlermeldung weiss ich jetzt leider nicht genau aber es heisst übersetzt das dass Gerät nicht gefunden oder unterstützt wird. Ok dachte ich mir klickste mal Basecom an... und siehe da Basecom lässt mich das Programm übertragen (es funktioniert auch richtig) jedoch kann ich die Fusebytes nicht ändern. Oder genauer gesagt ich kann diese ändern aber die Änderungen werden nicht beibehalten.Dies habe ich festgestellt als ich in Basecom die JTAG Schnittstelle abschalten wollte. Kennt ihr dieses Problem? Wieso passiert das? Das nächste ist das ich in Basecom die Timer nich einschalten kann. Der Befehl enable Timer0 wird als fehlerhaft angezeigt. Das Problem habe ich aber bereits bei euch entdeckt und herrausgefunden das es an meiner älteren Version von Basecom liegen müsste. Da ich das Problem öfters hatte wollte ich nun auf die C-Programmierung wechseln. Jetzt die nächste Frage haben die C Entwicklungsumgebungen auch die Möglichkeit Programme direkt zu übertragen? Oder wird ein externes Programm (wie PonyProg) gebraucht? Wenn ja habe ich eine gute Ausweichmöglichkeit oder muss ich mich mit PonyProg rumschlagen? Mit freundlichen Grüßen, ein verzweifelter Rising
Maximilian Diez schrieb: > C Entwicklungsumgebungen Bein WinAVR ist avrdude zur Übertragung des Programms in den µC dabei. avrdude wird über die Makefile aufgerufen. Ponyprog kannst du ebenso verwenden. Wenn du es halbwegs ernst mit den µCs meinst, kann ich dir einen usb-Programmer (z.B. den AVRISP mkII) nur empfehlen. PS: Es heiß Bascom, nicht Bas*e*com
Hast du die Fuses nach dem Ändern auch in den Controller geschrieben? Nur eine andere Einstellung auswählen reicht nicht. Zeig doch mal dein Bascom Programm mit dem Timer0 Fehler. Den Timer0 hat nämlich so ziemlich jeder AVR und für den MEGA32 unterstützt Bascom dies bestimmt schon seit einem halben Jahrhundert.
Maximilian Diez schrieb: > Ich benutze einen eigenbau DT-006 Programmieradapter. Und der ist garantiert kompatibel mit PonyProg? Wie hast du den Adapter aufgebaut, gibt es da einen Link oder einen Schaltplan?
Erstmal danke für den hinweis mit Bascom ... weiss auch net warum ich Basecom schreibe. Einen USB-Programmierer werde ich mir auch zu legen wollte nur erst einmal schauen ob mir das Thema liegt und Spaß macht ohne viel geld zu investieren :) Nun zum Adapter das ist ein Beispiel Schaltplan http://www.kramann.info/65_Workshop/04_TagOffeneTuer/05_B005_Programmierer/index.php Mein Adapter is fasst gleich nur das ich die Brücke von Pin 15 zum Widerstand nicht eingebaut habe. Man findet eben 10000 verschiedene Möglichkeiten bei meinem ersten Fund war diese Brücke nicht eingebaut. Der Adapter ist Kompatibel da man ihn direkt im PonyProg anwählen kann. Nun zu den Fuses... In Bascom habe ich auf Send to Chip geklickt. Im folgenden Fenster das ja den Chip anzeigt habe ich die Fuses geändert und dann auf automatisches Programmieren geklickt (weiss jetzt nicht genau wie es heisst und kann auch net nachschauen). Habe ich da was falsch gemacht? Weil eigentlich kommt dein ein Ladebalken und dort steht ROM EEPROM Write Fuses. Der Timer0 Fehler taucht hier auf : Ich habe mich durch diese Tutorial gearbeitet : http://www.ledhilfe.de/viewtopic.php?f=31&t=1675 und hier der Code : $regfile = "m32def.dat" $crystal = 1000000 Config Pind.5 = Output Config Pind.6 = Output Config Pind.2 = Input Config Timer0 = Timer , Prescale = 8 On Ovf0 Unserunterprogramm_isr Enable Timer0 <--- Hier meckert Bascom Enable Interrupts Danke für die Hilfe :)
Das ist doch nicht das ganze Programm. Es fehlt mindestens die Interruptroutine. MfG Paul
hier das ganze : $regfile = "m32def.dat" $crystal = 1000000 Config Pind.5 = Output Config Pind.6 = Output Config Pind.2 = Input Config Timer0 = Timer , Prescale = 8 On Ovf0 Unserunterprogramm_isr Enable Timer0 Enable Interrupts Taster1 Alias Pind.2 Led1 Alias Portd.5 Led2 Alias Portd.6 Do Led1 = 1 Waitms 1000 Led1 = 0 Waitms 1000 Led2 = 1 Waitms 1000 Led2 = 0 Waitms 1000 Loop Unserunterprogramm_isr: If Taster1 = 1 Then Led1 = 1 Led2 = 1 Waitms 500 Led1 = 0 Led2 = 0 End If Return Wie gesagt nur bei Enable Timer meckert bascom
Maximilian Diez schrieb: > Nun zum Adapter das ist ein Beispiel Schaltplan > > http://www.kramann.info/65_Workshop/04_TagOffeneTuer/05_B005_Programmierer/index.php Der funktioniert nicht mit Ponyprog. Pony will eine andere Steckerbelegung haben. > > Mein Adapter is fasst gleich nur das ich die Brücke von Pin 15 zum > Widerstand nicht eingebaut habe. Na, dann. Dann ist er nicht mehr zu PonyProg kompatibel. > Man findet eben 10000 verschiedene Möglichkeiten bei meinem ersten Fund > war diese Brücke nicht eingebaut. > Der Adapter ist Kompatibel da man ihn direkt im PonyProg anwählen kann. Auswählen kannst du ihn, aber Pony wird ihn nicht erkennen, da es abtestet ob die Brücke vorhanden ist. Schau doch mal auf der PonyPorg Website, wie dort die Belegung des LPT Steckers sein muss. Das ist das einzige was letzten Endes zählt.
Danke hab mal auf der Pony Seite geschaut sehe ich das jetzt richtig das ich mir leider keinen so einfachen adapter bauen kann? Es sind nur Beispiele mit zusetzlichen IC´s zu sehen.
Der gepostete Quelltext läßt sich hier ohne Fehler übersetzen. Ich habe es mit der Version 1.11.9.5 von Bascom getan. MfG Paul
Der Adapter http://www.s-huehn.de/elektronik/avr-prog/avr-parallel.gif hat damals bei mir funktioniert.
Waitms 500 in der Timer-ISR ist für jedes Programm tödlich. MfG
Kluchscheißender Consulter schrieb: > Waitms 500 in der Timer-ISR ist für jedes Programm tödlich. > > MfG könntest du mir das kurz erklären? Wegen dem "langen" Stop des Hauptprogramms? Oder gibt es da nochwas was ich wissen sollte? Danke wegen dem Adapter ich schau mir das gleich mal. Edit : Wegen dem Adapter hab grade gesehn das ich die Version schon mal gebaut hatte leider kein erfolg im Pony :)
Hallo! Bei mir lässt sich's auch kompilieren! Hier meckert Bascom hilft leider nicht viel. Was meckert Bascom denn? MfG
Bascom schreibt das es den Befehl net erkennt. Hab mir jetzt nochmal die Demo geholt und neu installiert jetzt funktioniert alles einwand frei :) Gibt den nun irgenten Tipp wegen dem brennen der Fuses? oder lag das eventuell auch an der fehlerhaften version?
Hallo Maximilian,
> Gibt den nun irgenten Tipp wegen dem brennen der Fuses?
Jo, einen hätte ich: die Fuses schreibst Du nicht mit "Write PGM" in den
Chip, sondern mit "Write FH" und/oder "Write FSH".
Mußt mal sehen, ob ich die Bezeichnungen richtig erwischt habe. Ich habe
gerade keinen Programmieradapter im Büro und kann nicht nachsehen.
Viel Erfolg!
Ralph
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.