problem jest dość dziwny z tego względu że to co jak myśle powinno działać zawsze raz działa a raz nie:) mam taka procedurę
gdzie
no i procedurka ogólnie działa z tym że linijka
raz zwraca 0xF0 a raz 0x00 i za cho*** nie moge dojść dlaczego, może Wy macie jakiś pomysł...?
void wyslij_dane_RX(void) {
/* jesli pierwszym bajtem danych będzie 0x0F to znaczy ze transmisja dotyczy
poleceń z uC
jesli natomiast pierwszym bajtem bedzie 0xF0 znaczyc to będzie iz transmisja
dotyczy danych do odebranych przez cc1000
drugi bajt to ilość wysyłanych danych w bajtach
*/
if(RXo>0) {
USART_putchar(0xF0); //bajt początku
USART_putchar(RXo);
while (RXo) {
USART_putchar(buforRx[RXo]);
RXo--;
}
USART_putchar(0xF0); //bajt końca taki sam jak początku
//zwolnij flage danych w buforze RX
SET(PORT_FLAG,5);
}
}
gdzie
//bufory realizujace FIFO
extern char buforTx[];
extern char buforRx[];
extern unsigned char RXo;
extern unsigned char TXo;
no i procedurka ogólnie działa z tym że linijka
USART_putchar(0xF0); //bajt końca taki sam jak początkuraz zwraca 0xF0 a raz 0x00 i za cho*** nie moge dojść dlaczego, może Wy macie jakiś pomysł...?