-
PIC IR Remote
What am I doing wrong?
Code:
pulse var Word
x var byte
signal var byte
ANSEL = %00000000
Start:
Pulsin PORTC.3, 0, pulse
if (pulse < 220) or (pulse > 260) then start
signal = 0
x = 1
Loop:
pulsin PORTC.3, 0, pulse
if (pulse > 90) then ADD_X
READ_IR:
x = x * 2
if (x = 255) then start
serout PORTC.2, 2, [#signal]
clear
goto loop
ADD_X:
signal = signal + x
goto read_ir
end
-
that code does the serout and clears all variables every time you get 1 pulse larger than 90. It doesn't wait until you have received the whole signal.