Написал два макроса
#define PWM_ON(); {TCNT2 = 0; OCR2A = 16;}
#define PWM_OFF(); {TCNT2 = 0; OCR2A = 0;}
использую так
void SendByte (unsigned char b)
{
unsigned char bit_count;
bit_count=0x80;
PWM_ON();
__delay_cycles(BR_MODEM); // старт бит
while (bit_count>0)
{
if (bit_count & b) PWM_OFF();
else PWM_ON();
__delay_cycles(BR_MODEM); // данные
bit_count >>= 1;
}
PWM_OFF();
__delay_cycles(BR_MODEM); // стop бит
}
Компилятор ругается на строку "else PWM_ON();"
Error[Pe127]: expected a statement D:\PROJECTS\Vovka\!Передатчик базовой станции\Firmware_MEG88\main.c 46
Если вместо "PWM_OFF();" подставить "{TCNT2 = 0; OCR2A = 0;}" то компилирует.
Кто виноват?