Witam Mam maly problem procesor PIC16F628A kompilator BoostC napisalem program wysylania danych przez rs232 do kompa i niestety nie dziala :( i niestety nie wiem dlaczego. Ponizej zamieszczam kawalki kodu: init: set_bit(pcon, OSCF); // 4Mhz set_bit(intcon, GIE); set_bit(txsta, BRGH); // Szybka spbrg = 25; // Fosc = 4MHz 9600 bodow/sek !!! uwaga nizej clear_bit(txsta, SYNC); // Tryb asynchroniczny set_bit(rcsta, SPEN); clear_bit(txsta, TX9); // 8 bitowa clear_bit(pie1, TXIE); set_bit(txsta, TXEN); // wlaczamy cala machine
send_char: while (test_bit(pie1, TXIE)) {}; // jezeli to usune i wrzuce zamiast tego // jakies opoznienie to komunikacja jest ok z tego wynika ze mam cos zle // napisane w przerwaniu (nizej) ale ciekawe ze transmisja jest w // 4800 bodow/sek a nie 9600 jak wynika z ustawien set_bit(pie1, TXIE); txreg = ch;
interrupt: if (test_bit(pir1, TXIF)){ // wysylanie clear_bit(pie1, TXIE); }
Czy wogole idea jest dobra ?? Sam juz nie wiem co tu nie pasuje.
Pozdrawiam i z gory dzieki za pomoc Tomek