Vladimir Ljaschko (14.01.2008 11:39, просмотров: 57) ответил sda на Поставил,всё равно сбоит.
Я обсуждение не читал, но осуждаю :-) Кажется, у "ваааще электронщиков" одинаковые мысли. #pragma vector=TIMER1_CAPT_vect
__interrupt void TC1_capt_handler ( void )
{ unsigned int new_icr;
unsigned int dif;
new_icr=ICR1;
if (new_icr>=old_icr) dif=new_icr-old_icr;
else dif=(divider1-(old_icr-new_icr-1));
old_icr=new_icr;
if (!(radio_status==RadioReceiving)) return;
icp_buf[icp_counter]= (unsigned char) (dif >> 7);
if (icp_counter<IcpBufSize-1)
{ icp_counter++;}
else radio_status=RadioReceived;
if (icp_counter & 1) { WaitNegativeEdge; }
else { WaitPositiveEdge; }
}