Dunuin
03.09.2010, 13:17
Moin,
Ich verzweifel seit Tagen an dem rc5send-Befehl.
Also ich habe einen Attiny2313 DIP der mit 5,2V(4 x 1,3V Akku) betrieben ist.
Fusebits sind alle noch auf den Standardwerten (8MHZ mit 8er-Prescaler).
Dann habe ich den IR-Booster aus der Anleitung zu dem Befehl nachgebaut und an PB3 angeschlossen, was auch bei dem tiny2313 der OC1A ist.
http://www.avrhelp.mcselec.com/irboost.gif
Mit folgendem Programm, was fehlerfrei kompiliert wird, passiert aber nichts:
'########################### uC Infos setzen ###################################
$regfile = "attiny2313.dat" ' specify the used micro
$crystal = 1000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
'########################## Ports deklarieren ##################################
'LED1 an PB2:
Led1 Alias Portb.2
Config Led1 = Output
'IR-LED an PB3
'######################## Variablen Deklarieren ################################
Dim Togbit As Byte
Dim Command As Byte
Dim Address As Byte
Togbit = 0
Address = 0
Command = 32
Led1 = 1
Do
Waitms 500
Rc5send Togbit , Address , Command
Loop
End
Bin mit dem Multimessgerät an PB3 ran und der war auf Low (müsste aber eigentlich auf High sein, wenn gerade nichts gesendet wird, oder?). Dann bin ich mit dem Oszi an den PB3-Pin ran und da war dann auch kein Flankenwechsel.
Daraufhin habe ich die IR-LED gegen eine normale LED ausgetauscht und folgendes Programm benutzt und dann blinkte die LED auch im vorgegebenen Takt:
'########################### uC Infos setzen ###################################
$regfile = "attiny2313.dat" ' specify the used micro
$crystal = 1000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
'########################## Ports deklarieren ##################################
'LED1 an PB2:
Led1 Alias Portb.2
Config Led1 = Output
'IR-LED an PB3
Led2 Alias Portb.3
Config Led2 = Output
'######################## Variablen Deklarieren ################################
Dim Togbit As Byte
Dim Command As Byte
Dim Address As Byte
Togbit = 0
Address = 12
Command = 10
Led1 = 1 'Led1 anschalten
Do
Led2 = 1
Waitms 1000
Led2 = 0
Waitms 500
Loop
End
Ich weiß da echt nicht mehr weiter :-(
Edit:
Ahja, Bascom v1.11.9.8 Demo
Edit:
Der uC müste auch heil sein, habe es nämlich mit 3 Stück versucht und geht bei keinem.
Edit:
Kann mir jemand sagen, warum bei dem IR-Booster für die IR-LED ein 10 Ohm Vorwiderstandgenutzt wurde? Laut Datenblatt braucht die IR-LED 1,5V bei 100mA, was nach meiner Rechung ein 35 Ohm Widerstand sein müsste. So bekommt die LED ja über 300mA.
Ich verzweifel seit Tagen an dem rc5send-Befehl.
Also ich habe einen Attiny2313 DIP der mit 5,2V(4 x 1,3V Akku) betrieben ist.
Fusebits sind alle noch auf den Standardwerten (8MHZ mit 8er-Prescaler).
Dann habe ich den IR-Booster aus der Anleitung zu dem Befehl nachgebaut und an PB3 angeschlossen, was auch bei dem tiny2313 der OC1A ist.
http://www.avrhelp.mcselec.com/irboost.gif
Mit folgendem Programm, was fehlerfrei kompiliert wird, passiert aber nichts:
'########################### uC Infos setzen ###################################
$regfile = "attiny2313.dat" ' specify the used micro
$crystal = 1000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
'########################## Ports deklarieren ##################################
'LED1 an PB2:
Led1 Alias Portb.2
Config Led1 = Output
'IR-LED an PB3
'######################## Variablen Deklarieren ################################
Dim Togbit As Byte
Dim Command As Byte
Dim Address As Byte
Togbit = 0
Address = 0
Command = 32
Led1 = 1
Do
Waitms 500
Rc5send Togbit , Address , Command
Loop
End
Bin mit dem Multimessgerät an PB3 ran und der war auf Low (müsste aber eigentlich auf High sein, wenn gerade nichts gesendet wird, oder?). Dann bin ich mit dem Oszi an den PB3-Pin ran und da war dann auch kein Flankenwechsel.
Daraufhin habe ich die IR-LED gegen eine normale LED ausgetauscht und folgendes Programm benutzt und dann blinkte die LED auch im vorgegebenen Takt:
'########################### uC Infos setzen ###################################
$regfile = "attiny2313.dat" ' specify the used micro
$crystal = 1000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
'########################## Ports deklarieren ##################################
'LED1 an PB2:
Led1 Alias Portb.2
Config Led1 = Output
'IR-LED an PB3
Led2 Alias Portb.3
Config Led2 = Output
'######################## Variablen Deklarieren ################################
Dim Togbit As Byte
Dim Command As Byte
Dim Address As Byte
Togbit = 0
Address = 12
Command = 10
Led1 = 1 'Led1 anschalten
Do
Led2 = 1
Waitms 1000
Led2 = 0
Waitms 500
Loop
End
Ich weiß da echt nicht mehr weiter :-(
Edit:
Ahja, Bascom v1.11.9.8 Demo
Edit:
Der uC müste auch heil sein, habe es nämlich mit 3 Stück versucht und geht bei keinem.
Edit:
Kann mir jemand sagen, warum bei dem IR-Booster für die IR-LED ein 10 Ohm Vorwiderstandgenutzt wurde? Laut Datenblatt braucht die IR-LED 1,5V bei 100mA, was nach meiner Rechung ein 35 Ohm Widerstand sein müsste. So bekommt die LED ja über 300mA.