buenas, he realizado un pequeño programa que permita enviar por infrarrojo 5 comandos diferentes pero al compilarlo me da error y no entiendo por que??? si me pueden ayudar lo agradecería mucho
#include <16f877a.h>
#fuses XT
#FUSES NOWDT
#FUSES NOPROTECT
#use delay(clock=4000000)
#define IR_CHUP 0x59A616E9
#define IR_CHDW 0x59A615EA
#define IR_VOLUP 0x59A614EB
#define IR_VOLDW 0x59A613EC
#define IR_POWER 0x59A610EF
void ir_send(int32 code);
Void main()
{
setup_ccp1(CCP_PWM);
set_pwm1_duty(0);
setup_timer_2(T2_DIV_BY_1,26,1);
while (true)
{
if(input(PIN_D0))
ir_send(IR_CHUP);
while (input(PIN_D0))
{
delay_us(50000);
set_pwm1_duty(13);
delay_us(9000);
set_pwm1_duty(0);
delay_us(2250);
}
if(input(PIN_D1))
ir_send(IR_CHDW);
while (input(PIN_D1))
{
delay_us(50000);
set_pwm1_duty(13);
delay_us(9000);
set_pwm1_duty(0);
delay_us(2250);
}
if(input(PIN_D2))
ir_send(IR_VOLUP);
while (input(PIN_D2))
{
delay_us(50000);
set_pwm1_duty(13);
delay_us(9000);
set_pwm1_duty(0);
delay_us(2250);
}
if(input(PIN_D3))
ir_send(IR_VOLDW);
while (input(PIN_D3))
{
delay_us(50000);
set_pwm1_duty(13);
delay_us(9000);
set_pwm1_duty(0);
delay_us(2250);
}
if(input(PIN_D4))
ir_send(IR_POWER);
while (input(PIN_D4))
{
delay_us(50000);
set_pwm1_duty(13);
delay_us(9000);
set_pwm1_duty(0);
delay_us(2250);
}
}
void ir_send(unsigned int32 code)
{
unsigned char i = 0;
disable_interrupts(GLOBAL);
// Envío el START
set_pwm1_duty(13);
delay_us(9000);
set_pwm1_duty(0);
delay_us(4500);
// Voy desgranando el código
while (i < 32) {
#bit first=code.31
// Transmitimos un 1
if (first) {
set_pwm1_duty(13);
delay_us(560);
set_pwm1_duty(0);
delay_us(1690);
}
// Transmitimos un 0
else {
set_pwm1_duty(13);
delay_us(560);
set_pwm1_duty(0);
delay_us(560);
}
code <<= 1;
i++;
}
// Bit de parada
set_pwm1_duty(13);
delay_us(560);
set_pwm1_duty(0);
enable_interrupts(GLOBAL);
}
Estos son mis errores:
Executing: "C:\Program files\Picc\CCSC.exe" +FM "test.c" #__DEBUG=1 +ICD +DF +LN +T +A +M +Z +Y=9 +EA #__16F628A=TRUE
***
Error 51 "test.c" Line 75(1,5): A numeric expression must appear here
***
Error 12 "test.c" Line 92(7,10): Undefined identifier
***
Error 51 "test.c" Line 100(7,11): A numeric expression must appear here
***
Error 12 "test.c" Line 107(12,16): Undefined identifier code
4 Errors, 0 Warnings.