Ein letzter Hilferuf:
Einige Tage habe ich nun darauf verbracht, meine zwei 4433 zum Laufen
zu kriegen. Mit dem Parallelport-ISP (von rumil.de) und PonyProg2000
kann ich den µC beschreiben und auslesen, mit der Einschränkung, dass
ich vor einem neuen Schreibvorgang die Schaltung einmal stromlos
schalten und ein erase durchführen muss. Merkwürdig, aber dann geht es.
Nur bekomme ich kein Signal aus dem AVR, egal, welchen Port ich
verwende. Die Ausgänge bleiben hochohmig.
Als Testprogramm dient das im Tutorial verwendete led.asm:
******************************************************************
.include "4433def.inc" ;Definitionsdatei einbinden, ggf. durch
;2333def.inc ersetzen
ldi r16, 0xFF ;0xFF ins Arbeitsregister r16 laden
out DDRB, r16 ;Inhalt von r16 ins IO-Register DDRB
ldi r16, 0b11111100 ;0b11111100 in r16 laden
out PORTB, r16 ;r16 ins IO-Register PORTB ausgeben
ende: rjmp ende ;Sprung zur Marke "ende" Endlosschleife
**********************************************************************
Bevor ich die 4433 nun in den Kamin schmeiße: Hat irgendeiner eine
Idee, wie ich dem Käfer auf die Sprünge helfen kann? Kann man mit
PonyProg irgendwas anstellen, was dem AVR die Innereien umdreht?
Gruß,
Gerrit
Hallo...
Ungünstiges Programm. Du legst damit nur die ISP-Pins auf H.
Nimm doch mal einen anderen Port, z.B. PortD... (natürlich auch ddrd)
Damit dürfte der Erfolg besser messbar sein.
Auch mal mit AVR-Studio simulieren, da kommt man typischen
Anfängerfehlern schnell auf die Schliche...
Bit- & Bytebruch...
...HanneS...
Ich habe bereits alle 3 Ports ausprobiert (DDR's auch angepasst). Die
Simulation bringt das gewünschte Ergebnis, der µC macht rein gar
nichts.
Zum Messen habe ich den ISP abgenommen.
Gruß,
Gerrit
Naja, "machen" tut der bei dem Programm nix...
Er setzt nur sofort beim Einschalten (also nach dem Reset) die
dementsprechenden Pins auf L bzw. H. Bist du sicher, dass du die Pins
richtig ausmisst (nicht beleidigt sein, aber ich habe da schon
Haarsträubendes erlebt)? LEDs richtig gepolt, Widerstände korrekt?
An Takt und Stromversorgung dürfte es kaum liegen, da dann ISP nicht
funktionieren würde.
Poste doch mal deine Schaltung, vielleicht ist ja da der Hund
begraben...
Bit- & Bytebruch...
...HanneS...
Hallo Hannes,
die Pins messe ich jeweils gegen 5V bzw 0v ;-)
Die Schaltung ist die aus dem Tutorial mit Kondensator am Reset-Pin.
Das einzige, was ich jetzt noch probiert habe war, die Fuse-bits CSLK
auf 010 zu setzen -> "Crystal Oscillator" laut Datenblatt, da ich
einen 4Mhz Quartz verwende. Die Fuses ließen sich auch widerstandslos
lesen / setzen.
Die Pins hängen quasi in der Luft (keine LEDs dran), aber das dürfte
wohl nix machen (werde ich jetzt wegen eines Anfängerfehlers
gesteinigt??).
Danke erstmal,
Gerrit
Hallo Gerrit...
Gegen +5V und GND messen ist ok.
Mit den Fuses sollte man als Anfänger vorsichtig sein. Neue 4433 wurden
so ausgeliefert, dass die mit Quarz funktionieren.
Da ich nun nicht sehe, wie und was du so machst, kann ich nicht
erkennen, warum das nicht geht.
Gesteinigt wirst du von mir nicht. Ich habe auch so allerhand falsch
gemacht und bin immer noch ein ganz kleines Licht in der (Hobby-)
Branche. Ich war sogar zu blöd, mit Pony einen AVR (1200) zu
programmieren, habe mir deshalb einen eigenen Programmer und die
Software dazu gebaut.
Mit 4433 habe ich ein (einfaches) Impulsteil für Fernsteuersender
(7Kan.) realisiert, funktioniert prächtig. Dabei habe ich weder
Fusebits noch Lockbits verändert.
Wenn es dir hilft, und du zwei mal Porto investieren willst, dann
kannst du mir die 4433 (+ Rückumschlag) mal zum Testen zuschicken,
bekommst sie in jedem Fall zurück. Kannst sie vorher kennzeichnen.
Wenn, dann schicke mir eine Mail wegen Adresse, wenn nicht, dann habe
ich Arbeit gespart... ;-))
Bit- & Bytebruch...
...HanneS...
Danke für das Angebot! Einen der beiden habe ich einem Komilitonen
mitgegeben, der mir selbiges angeboten hatte :-) Wenn der aber keinen
Erfolg hat, werde ich gern auf dein Angebot zurückkommen.
Kurios, was gestern (gegen Mitternacht) geschah: Ich habe mit BASCOM
ein Lauflicht gebastelt, also die Pins von Port C nacheinander
angeschaltet, mit je einer Sekunde Verzögerung. Port C machte jedoch
gar nichts (wie immer), aber Pin 4 von Port B wechselte im Sekundentakt
von 0V nach 5V!?! Also ganz tot scheint der 4433 nicht zu sein - nur
gröber durcheinander. Kann man an den Dingern irgendwie ein
"Masterreset" machen?
Gruß,
Gerrit
Hi Gerrit...
Du arbeitest nicht mit externem Quarz (wie bisher angegeben) sondern
mit einem Quarzoszillator, also mit externem Takt. Daher wirst du wohl
die Fuses anders einstellen müssen (Datenblatt Seite 23).
Das sind die kleinen Übersetzungsfehler...
Bit- & Bytebruch...
...HanneS...
Hi...
Ja sicher doch, dem AVR ist es doch egal, ob ein externer Takt von
einem Quarzoszillator, von einem 555-Generator oder von einem
(entprellten) Taster kommt, es bleibt externer Takt.
Was das Datenblatt mit "crystal oscillator" meint, ist ein ganz
normaler Quarz, der an XTAL1 und XTAL2 angeschlossen wird, mit
Kondensatoren im pF-Bereich gegen GND als Anschwinghilfe.
Hier hat ATMEL einfach mal eine ungünstige Bezeichnung gewählt, oder
wir übersetzen sie zu blauäugig ins Deutsche... ;-))
Bit- & Bytebruch...
...HanneS...