Cześć.
Od jakiegoś czasu próbuję rozwiązać problem związany z komunikacją UART-USB przez port COM. Używam mikrokontrolera ATmega8A (wewnętrzny generator RC 8MHz), konwertera FT232RL i w tym momencie próbuję sprawić, aby stała się najprostsza możliwa rzecz, czyli wysłanie 2 literek na port. Mój projekt jest trochę bardziej skomplikowany, ale dopóki nie naprawię tego, nie mam co ruszać dalej. Zastanawiam się, czy aby na pewno moje połączenia są prawidłowe, albo czy w kodzie nie dzieje się jakaś głupota. Warto wspomnieć, że jakiś czas temu wszystko działało i poszedłem z projektem dalej, po czym (bez majstrowania w funkcjach zw. z UARTEM), nagle przestało działać i w formie takiej jak przedstawiam zacina się.
Efektem użycia kodu, który wklejam jest to, że przez jakiś czas wysyłają się moje upragnione literki, po czym pojawia się '?' i transmisja pada, a program zaczyna wykonywać się w kółko od zera, dochodzi do momentu wysłania, i wraca znów do początku. Po odłączeniu i podłączeniu zasilania program robi to samo - po dojściu do momentu transmisji wraca do początku.
Chciałbym zapytać, czy w tym (dość standardowym chyba) kodzie jest jakieś niedociągnięcie, ew. może zrobiłem coś źle ze schematem (Rx i Tx idą na krzyż do ATmegi), a wreszcie czy możliwe jest, że mój FT232RL się jakoś uszkodził? Wiem, że nie ma co zrzucać na sprzęt, więc ostatnią opcję raczej odrzucam. Może jakimś tropem będzie to, że jak dodaje opóźnienie w USART_Transmit, to jakby działało dłużej... Będę wdzięczny za każdą pomoc i sugestię.
Od jakiegoś czasu próbuję rozwiązać problem związany z komunikacją UART-USB przez port COM. Używam mikrokontrolera ATmega8A (wewnętrzny generator RC 8MHz), konwertera FT232RL i w tym momencie próbuję sprawić, aby stała się najprostsza możliwa rzecz, czyli wysłanie 2 literek na port. Mój projekt jest trochę bardziej skomplikowany, ale dopóki nie naprawię tego, nie mam co ruszać dalej. Zastanawiam się, czy aby na pewno moje połączenia są prawidłowe, albo czy w kodzie nie dzieje się jakaś głupota. Warto wspomnieć, że jakiś czas temu wszystko działało i poszedłem z projektem dalej, po czym (bez majstrowania w funkcjach zw. z UARTEM), nagle przestało działać i w formie takiej jak przedstawiam zacina się.
Efektem użycia kodu, który wklejam jest to, że przez jakiś czas wysyłają się moje upragnione literki, po czym pojawia się '?' i transmisja pada, a program zaczyna wykonywać się w kółko od zera, dochodzi do momentu wysłania, i wraca znów do początku. Po odłączeniu i podłączeniu zasilania program robi to samo - po dojściu do momentu transmisji wraca do początku.
Chciałbym zapytać, czy w tym (dość standardowym chyba) kodzie jest jakieś niedociągnięcie, ew. może zrobiłem coś źle ze schematem (Rx i Tx idą na krzyż do ATmegi), a wreszcie czy możliwe jest, że mój FT232RL się jakoś uszkodził? Wiem, że nie ma co zrzucać na sprzęt, więc ostatnią opcję raczej odrzucam. Może jakimś tropem będzie to, że jak dodaje opóźnienie w USART_Transmit, to jakby działało dłużej... Będę wdzięczny za każdą pomoc i sugestię.
Kod: C / C++