Cybernix
28.11.2008, 22:12
Hallo,
ich habe folgendes Problem mit meinem AtTiny2313:
Sobald ein TTL Pegel an Pind.6 anliegt soll Pinb.1 auf 5V geschaltet werden.
Die Schaltung ist extrem einfach und besteht eigentlich nur aus dem AtTiny2313, der ISP Stiftleite, ein 100nF Kondensator und ein 10µF Elko zwischen der Versorgungsspannung und Ground sowie ein 10K Widerstand als Pullup am Reset.
Das Programm sieht folgendermassen aus:
$regfile = "ATtiny2313.dat"
$crystal = 4000000
$baud = 9600
$hwstack = 32
$framesize = 24
Config Pinb.1 = Output
Config Pind.6 = Input
Do
If Pind.6 = 1 Then
Pinb.1 = 1
Else
Pinb.1 = 0
End If
Loop
End
Es wird der interne Oszillator benutzt, Ckdiv ist disabled (fusebit C = 1).
Bei Pind.6 = 0 ist auch Pinb.1 = 0.
Bei Pind.6 = 1 oszilliert Pinb.1 mit einer Periode von etwa 0.2ms.
Warum bleibt Pinb.1 nicht konstant auf 5V?
Nächstes Problem:
Pinb.1 soll alternieren: ca. 2 sec auf 5V und dann ca. 1 sec auf 0V
Wie oben wird der interne Oszillator benutzt und Fusebit C = 1
$regfile = "ATtiny2313.dat"
$crystal = 4000000
$baud = 9600
$hwstack = 32
$framesize = 24
Config Pinb.1 = Output
Reset Pinb.1
Do
Set Pinb.1
Waitms 2000
Reset Pinb.1
Waitms 1000
Loop
End
Am Pinb.1 wird mit einem Multimeter nun folgendes gemessen:
Ca. 3 sec 5V,ca. 3 sec 0V usw.....
Anscheinend funktioniert der waitms Befehl nicht?
Könnt Ihr mir helfen?
Gruß,
Cybernix
ich habe folgendes Problem mit meinem AtTiny2313:
Sobald ein TTL Pegel an Pind.6 anliegt soll Pinb.1 auf 5V geschaltet werden.
Die Schaltung ist extrem einfach und besteht eigentlich nur aus dem AtTiny2313, der ISP Stiftleite, ein 100nF Kondensator und ein 10µF Elko zwischen der Versorgungsspannung und Ground sowie ein 10K Widerstand als Pullup am Reset.
Das Programm sieht folgendermassen aus:
$regfile = "ATtiny2313.dat"
$crystal = 4000000
$baud = 9600
$hwstack = 32
$framesize = 24
Config Pinb.1 = Output
Config Pind.6 = Input
Do
If Pind.6 = 1 Then
Pinb.1 = 1
Else
Pinb.1 = 0
End If
Loop
End
Es wird der interne Oszillator benutzt, Ckdiv ist disabled (fusebit C = 1).
Bei Pind.6 = 0 ist auch Pinb.1 = 0.
Bei Pind.6 = 1 oszilliert Pinb.1 mit einer Periode von etwa 0.2ms.
Warum bleibt Pinb.1 nicht konstant auf 5V?
Nächstes Problem:
Pinb.1 soll alternieren: ca. 2 sec auf 5V und dann ca. 1 sec auf 0V
Wie oben wird der interne Oszillator benutzt und Fusebit C = 1
$regfile = "ATtiny2313.dat"
$crystal = 4000000
$baud = 9600
$hwstack = 32
$framesize = 24
Config Pinb.1 = Output
Reset Pinb.1
Do
Set Pinb.1
Waitms 2000
Reset Pinb.1
Waitms 1000
Loop
End
Am Pinb.1 wird mit einem Multimeter nun folgendes gemessen:
Ca. 3 sec 5V,ca. 3 sec 0V usw.....
Anscheinend funktioniert der waitms Befehl nicht?
Könnt Ihr mir helfen?
Gruß,
Cybernix