• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Attiny13 input/output pins

Windi

Geoguru
DunkleAura schrieb:
ein passendes programm dazu:
Code:
$hwstack = 20                                               'hardwarestack herabsetzen damit genügend variablen zur verfügung stehen
$regfile = "attiny13.dat"
$crystal = 960000                                           'Frequenz des internen Oszillators

Stop Ac                                                     'Analog-Komparator abschalten, um Strom zu sparen
Stop Adc                                                    'A/D-Wandler abschalten, um Strom zu sparen

Config Portb = &B00000011                                   'PortB auf 'Ausgang'

' PORTB
Portb.0 = 1                                                 ' 0 = LED 0 auf Vcc = aus
Portb.1 = 1                                                 ' 1 = LED 1 auf Vcc = aus
Portb.2 = 1                                                 ' 2 = Taster 0 mit pullup
Portb.3 = 1                                                 ' 3 = Taster 1 mit pullup
Portb.4 = 1                                                 ' 4 = Taster 2 mit pullup

Do

If Pinb.2 = 0 Then
   Portb.0 = Not Portb.0
Elseif Pinb.3 = 0 Then
   Portb.1 = Not Portb.1
Elseif Pinb.4 = 0 Then
   Portb.0 = Not Portb.0
   Portb.1 = Not Portb.1
End If

Loop

End
das macht nichts anderes als bei:
taster 0, led 0 umschalten
taster 1, led 1 umschalten
taster 2, led 0 und led 1 umschalten

mit umschalten meine ich einfach den aktuellen status umschalten.
hoffentlich veranschaulicht dies das ganze ein wenig.

grüssle aus der
smileyschweiz57fcf.gif
DunkleAura

Wird so leider nicht funktionieren bzw. so schnell dass man es nicht erkennt.
Ich würde vor das Loop noch ein "waitms 500" einfügen.

Um einen Ausgang zu invertieren gibt es übrigens den "toggle"-Befehl.
 

DunkleAura

Geowizard
Windi schrieb:
Wird so leider nicht funktionieren bzw. so schnell dass man es nicht erkennt.
Ich würde vor das Loop noch ein "waitms 500" einfügen.
hmm ja schon und ein entprellen würde auch nicht schaden...

Windi schrieb:
Um einen Ausgang zu invertieren gibt es übrigens den "toggle"-Befehl.
nice, nur ich nahm die mir nächste logische lösung ohne alle befehle zu kennen :)
es gäbe sicher auch einen befehl zum setzen und unsetzen nehme ich einfach mal an.
 
Oben