D.h bei der Methode wird offenbar RX_M_DATA garnicht gesetzt, sonst müßte er nach jedem "U" ja irgendwas ausgeben.
Da müssen wir kontrollieren, ob die while routine überhaupt die Flanken erkennt
(es ist nur ein "}" anders)Code:while(1) { if (bRxFlag & RX_M_RECEIVE) { if ( ( PIND & (1<<PD2)) ^ (bOld & (1<<PD2))) // any Flanke ? { if (bCnt & 0x08) { bRxFlag &= ~RX_M_RECEIVE; bRxFlag |= RX_M_DATA; } else { bOld = PIND; bCnt++; bRxByte >>= 1; } if ( PIND & (1<<PD2)) { PORTD |=(1<<PD4); bRxByte |=0x80; } else { PORTD &= ~(1<<PD4); bRxByte &= ~0x80; } } } if (bRxFlag & RX_M_DATA) { bRxFlag &= ~RX_M_DATA; send_one_byte(bRxCount + 0x30); } }
in diesem Falle dürft jetzt GARKEIN echo kommen
Lesezeichen