Hallo,
ich brauche Hilfe von einem Experten. Ich möchte einen Tiny 12 als
Umschalter programmieren.
3 Taster, die an PB0-PB2 liegen sollen 3 Ausgänge, PB3-PB5 steuern.
Wenn ich also Taster 1 PB0 drücke soll PB3 solange auf H gelegt werden
bis ein anderer Taster, z.B. PB1 gedrückt wird der wiederum PB4
dauerhaft auf H legt bis ein anderer Taster gedrückt wird. Quasi ein 3
fach Umschalter
Ich habe am Wochenende versucht das selber hinzubekommen, habe aber
keine Beispielprogramme für den Tiny 12 gefunden, der AVR macht alles
nur nicht das was er soll. Ich befasse mich erst seit Samstag mit dem
Thema AVR und brauche das Prg für private Zwecke (Amateurfunk).
Wer kann gegen gegen kleines Entgeld helfen?
MfG
HilSei
Und du bist sicher, dass du PB5 nutzen willst? (Schau nochmal ins
Datenblatt, speziell nach Reset-Beschaltung und Programmiermodi...)
Und wenn du dann die Aufgabe verständlich und eindeutig formulierst,
findet sich sicherlich auch jemand, der dir beim Programmieren hilft.
...
Hallo,
einfach löschen und neu beschreiben, weiß ja nicht was für ein
Programmer und welche Software du benutzt.
Ich hoffe du hast nicht die Fuse RSTDISABLE gesetzt wenn du nicht im
HighVoltage Modus Flashen kannst.
Gruß Topsoft
Hallo,
den Prom kann ich nicht mehr löschen, habe mit yaap geflasht (5V) und
nichts den fuses geändert. Der "Programmer" sind 3 Widerstände in den
Datenleitungen. Nicht schlimm, morgen klappt es bestimmt. Ich glaube ich
muß mir alles nochmal ansehen. Wenn ich mit Yaap ein leeres Projekt
öffne müßte das PRG die in dem Baustein vorhandenen Daten
überschreiben, oder?
MfG
Hilmar
Hallo,
die Programmer löschen vor dem flashen das Flash. Das Progi ist immer
noch fehlerhaft da ja ein nicht gedrückter Taster High Pegel am Eingang
verursacht. Wichtig ist auch der PullUp Widerstand am Reseteingang. Habe
das geändert und als Anhang drangehängt. Damit das Progi funzt mußt du
aber die besagte Fuse (RSTDISABLE) setzen nur dann ist es aus mit dem
Isp programmieren im Low Voltage Mode.
Gruß Topsoft
@Topsoft: vielleicht sind es auch 5 Zeilen zu viel?
Wenn man schon die 3 Konstanten für den Port mit einem Befehl ausgeben
kann, dann kann man sich das "rjmp xxx" und die Marken schenken
(siehe Änderung im Anhang).
Ansonsten wurden ja für PB3-PB5 die Pullups aktiviert und es war vorher
so, das mit SBIS der RJMP übersprungen wurde und quasi bei Eingang X = 1
(high) ein schalten erfolgen würde was aber mit aktiven Pullup ja immer
1 (high) ist also ein wirres hin und her schalten hervorrufen würde.
Allerdings, geht ein Pullup bei Open Drain (Reset) überhaupt?
MfG
Andi
Anderer Seits könnte man noch dafür sorgen, das beim (versehentlichen)
Drücken von 2 Tasten nur der erste Ausgang in der Abfragereihenfolge
geschaltet wird um ein zu schnelles An- und Abschalten zu vermeiden was
für Relais nicht so sehr gut sein kann (siehe Anhang).
Damit wären wir wieder bei der ersten Lösung, nur das dann nach einer
Port-Ausgabe bei Abfrage 1 und 2 gleich wieder zum Anfang gesprungen
wird.
MfG
Andi
Bei mechanischen Bauteilen keine schlechte Idee, hatte auch schon
darüber nachgedacht. Jetzt könnte man das ganze noch mit dem Timer 10x
pro sec. machen und den Rest der Zeit den Kontroller schlafen
schicken.
Gruß Topsoft
Und vielleicht die Taster entprellen, sonst reagiert das Teil auf jeden
Störimpuls.
Aber bei diesem Andrang an Vorschlägen halte ich mich etwas zurück (das
spart Zeit). ;-)
...