Basecom funktioniert PonyProg nicht?

OP #1827273
Lesenswert?

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
Gast #1827288
Lesenswert?

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.
OP #1827331
Lesenswert?

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 :)
OP #1827343
Lesenswert?

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
#1827344
Lesenswert?

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.
OP #1827384
Lesenswert?

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 :)
Gast #1827908
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren