Делаю десять проходов не просыпается
Цитата:
void interrupt (void)
{
if (TMR2IE_bit && TMR2IF_bit)
{
TMR2IF_bit = 0;
tick++;
}
if (RBIF_bit==1)
RBIF_bit = 0;
}
}
void main() {
kp=0;
ks=0;
m_Buttons.ucPressed = 0;
CMCON = 0x07;
PORTB = 0;
TRISB = 0xF7;
PR2 = PR2_CONST; // Настройка TMR2
T2CON = T2CON_CONST | 0x04;
TMR2IE_bit = 1;
PEIE_bit = 1;
GIE_bit = 1;
RBIF_bit = 0;
RBIE_bit = 1 ;
while (1)
{
if(tick >= 10 ms)
{
Task_Buttons ();
tick = 0;
tick1++;
}
if(m_Buttons.ucPressed)
{
kp = m_Buttons.ucPressed;
ks = CRC8(m_Buttons.ucPressed); // расчет КС
GIE_bit = 0;
TX_data(kp,ks); // передача посылки
GIE_bit = 1;
delay_ms(15);
}
if(tick1 >=10);
{asm sleep;
tick1=0;}
}
}
|