Forum: FPGA, VHDL & Co. Bascom RC5 Code senden


von Stefan R. (lenox)


Lesenswert?

Hallo Leute,
ich arbeite gerade an einem größerem Projekt und benötige dafür eine IR 
Fernsteuerung die ein vorgegebenes RC5Signal bei betätigung eines 
Tasters Senden.
Als Microcontrolelr verwende ich den Atiny13 von Atmel.
Die IR Dioden ist über einen Transistor (gegen GND) mit dem AVR 
verbunden.

In Bascom gibt es eine Fkt sendrc, die allerdings den Timer1 benötigt, 
den aber der tiny13 nicht hat. Also muss ich mir selber was 
zusammenbasteln, über den verfügbaren 8-Bit Timer0.

Ich habe mir den RC5 Aufbau schon angeguckt, und schon versucht die 
ersten 3 Bits zu senden, aber die IR Diode leuchtet in einen so 
niedrigen Intervall das man es noch über ein Multimeter sehen kann, muss 
also irgentwas falsch gecodet sein!

Hier ist der Code den ich bsi jetzt geschrieben hab (ohne Taster 
abfrage)

$regfile = "ATtiny13.dat"
$crystal = 9600000
$hwstack = 32
$swstack = 8
$framesize = 16

Config Portb.0 = Output                                     'LED
Config Portb.4 = Input                                      'Schalter 
gegen GND
Portb.4 = 1                                                 'Pullup

Schalter Alias Portb.4

Config Timer0 = Timer , Prescale = 8
On Timer0 Timer_irq
Const Timervorgabe = 256 - 33

Enable Timer0
Enable Interrupts

Dim I As Byte
I = 0

Do

Loop

Timer_irq:

 If I < 33 Then                                             '1
  Portb.0 = 0
 End If
 If I > 32 And I < 65 Then
  Portb.0 = 1
 End If

 If I > 64 And I < 97 Then                                  '2
  Portb.0 = 0
 End If
 If I > 96 And I < 129 Then
  Portb.0 = 1
 End If

 If I > 128 And I < 161 Then                                '3
  Portb.0 = 1
 End If
 If I > 160 And I < 193 Then
  Portb.0 = 0
 End If

 If I = 193 Then
 I = 0
 Else
 I = I + 1
 End If

Return


Ich wäre echt sehr dankbar wenn ihr mir helfen könntet.

PS: Wenn jemand zufällig einen passenden C Code hat den ich nur noch 
flashen müsste würde mir das auch helfen.

Mfg
Stefan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.