Tiny12 macht Probleme

#325944
Lesenswert?

Hallo!
Ich habe mir ein paar Tiny12's gekauft und wollte sogleich zum Test
eine LED blinken lassen. Wenn ich dieses Programm in einen Tiny13
brenne, dann funktioniert es auch tadellos(an PB0 blinkt die LED). Mit
dem Tiny12 sieht es da ganz anders aus: Wenn man den Kontakten des
Experimentierboardes näher kommt, leuchtet die Led teilweise kurz auf
aber von blinken ist trotzdem nichts zu sehen.

Könnte dies vielleicht an einem fehlenden Pull-Up am Reset oder
dergleichen sein? Sodass das Programm momentan ständig von vorne
beginnt?

An den Fuse Bits habe ich noch nichts geändern, d.h. der Tiny läuft
noch mithilfe des internen Oszillators.

MfG Xenon
#325946
Lesenswert?

Also ich habe das Programm in Bascom geschrieben und als regfile ist die

Tiny12def eingestellt. Daher müsste das Programm auch auf dem Tiny12
laufen. Zum Test habe ich die Hex (ohne die def zu ändern) in den
Tiny13 geschrieben und es lief. Das Problem liegt also am Tiny12
#325948
Lesenswert?

Also ich habe deine hex-Datei in den Tiny12 programmiert aber ohne
Erfolg :(

Dann habe ich noch einmal ein leichtes Blinklicht in Assembler
erstellt(es werden sicher keine Timer verwendet sondern nur leichte
Komponenten; bei Bascom bin ich mir da nicht so sicher) und in den
Tiny12 gebrannt. Wieder nur Reaktionen wenn man an den Drähten wackelt
aber kein blinken. Dann habe ich die Hex die eig die TN12def.inc
eingebunden hat in den Tiny13 gebrannt und siehe da die LED blinkt.

Der eine Tiny12 dürfte aber nich kaputt sein, da ich es bereits mit
zwei neuen von Reichelt getestet habe. Im Anhang ist die asm.

Mfg Xenon
Angehängte Dateien:
#325949
Lesenswert?

- Du hast eine geeignete Versorgungsspannung (5V)?
- Du hast einen Widerstand (3k..10k) vom Reset-Pin vach Vcc?
- Du hast einen Keramik-Kondensator 100nF direkt am AVR an Vcc-GND?
- Du hast geeignete Vorwiderstände (150 Ohm..1k) zwischen Portpins
  und LEDs?
- Du bist sicher, dass du die Fuses nicht verstellt hast?
- Du bist sicher, dass zu keinem Zeitpunkt eine höhere Spannung als
  5V oder eine verpolte Spannung angelegen hat?

Dann wirst du den Tiny12 wohl zum Schrott erklären müssen (aber nicht
in die Restmüll-Tonne werfen, das ist inzwischen verboten!).

Ich hatte einen neuen Tiny12, der hatte nach dem zweiten Flashen das
Problem, dass sich 3 Flash-Zellen nicht mehr löschen ließen. Die große
Masse lebt zwar länger, aber es kommt durchaus vor, dass mal einer
beizeiten stirbt.

...
#325950
Lesenswert?

Schonmal vielen Dank für die Hilfe Hannes!

Also mit Pull-Up Widerstand am Rest-Pin hat der Assembler Code auch auf
dem Tiny12 funktioniert!!

Jetzt bleibt nur noch ein kleines Problem:

Und zwar funktioniert der Bascom-Code nur auf dem T13 nicht aber auf
dem T12. Der Code:

$regfile = "at12def.dat"
$crystal = 1200000

Ddrb = &B1

Do
Portb.0 = 1
Wait 1
Portb.0 = 0
Wait 1
Loop

Ich vermute, dass Bascom das wait mithilfe eines Timers in Assembler um
setzt und der Tiny12 nicht dazu kompatibel ist?!?

Gibt es eine andere Lösung?

Ansonsten muss ich halt das Programm in Assemlber verfassen, was in
diesem Fall auch kein Problem wäre. Jedoch für die Zukunft fände ich es
schön wenn der Tiny12 auch voll und ganz mit Bascom zu nutzen ist.

MfG Xenon
#325951
Lesenswert?

Der Tiny12 kann unter BASCOM nur auf die Portpins zugreifen. Richtig
gesehen, kann man ihn mit BASCOM quasi nicht programmieren.

Ansonsten frag mich nicht zu BASCOM. Die mangelnde Transparenz ist der
Hauptgrund, warum ich diesen "Baukasten" meide, obwohl ich auf
anderen Plattformen fast nur in BASIC programmiere. Für kleine Projekte
auf AVRs lohnt sich eine Hochsprache nicht, für größere AVR-Projekte
taugt der Baukasten BASCOM nicht. Daher programmiere ich AVRs nur in
Assembler. Siehe auch www.hanneslux.de

...

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