Witam,
Panowie pomóżcie mi z moim problemem bo już mnie powoli wykańcza:) Otóż zabrałem się za budowę serwonapędu z silnikiem DC. Nie ukrywam miałem trochę przerwy z programowaniem AVR i pewnie stąd mój problem. Oto funkcja wysyłająca dane do kompa
a tutaj wywołanie tej funkcji
dobra i teraz do sedna sprawy.Może mi ktoś wytłumaczyć dlaczego na kompie jak chcę wysłać napis "test" pojawiają mi się tylko 2 literki "te" i tyle. Próbowałem to zrobić również na przerwaniach ale mi program w ogóle nie chciał wejść w przerwanie mimo ustawionego bitu TXCIE i TXEN i wpisaniu pierwszego znaku do UDR.
Procek to ATtiny 2313
Proszę o podpowiedź i pomoc.
Dziękuję
Panowie pomóżcie mi z moim problemem bo już mnie powoli wykańcza:) Otóż zabrałem się za budowę serwonapędu z silnikiem DC. Nie ukrywam miałem trochę przerwy z programowaniem AVR i pewnie stąd mój problem. Oto funkcja wysyłająca dane do kompa
void wyslijtekst(prog_char *str)
{
char znak;
sbi(UCSRB,TXEN);//wlaczenie nadajnika
while(0!=(znak=pgm_read_byte(str++)))
{
PORTD|=1<<PD6;
UDR=znak;
}
a tutaj wywołanie tej funkcji
if(komenda=='l')
{
wyslijtekst(PSTR("test"));
} dobra i teraz do sedna sprawy.Może mi ktoś wytłumaczyć dlaczego na kompie jak chcę wysłać napis "test" pojawiają mi się tylko 2 literki "te" i tyle. Próbowałem to zrobić również na przerwaniach ale mi program w ogóle nie chciał wejść w przerwanie mimo ustawionego bitu TXCIE i TXEN i wpisaniu pierwszego znaku do UDR.
Procek to ATtiny 2313
Proszę o podpowiedź i pomoc.
Dziękuję