Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Bascom AVR
#1
Nie programuję w Bascomie ale zaciekawiły mnie rekomendacje Kolegów stosujących z powodzeniem ten język. Chętnie rzucę okiem na kod wygenerowany przez Bascoma i podzielę się opinią jak to wygląda od strony assemblera.
Rafał jeśli to nie problem to poproszę o przykładowy fragment kodu realizujący opisywaną przez Ciebie funkcję ( RX copy to vTX) obsługi wirtualnego portu oraz plik hex np dla ATmega8.

Otrzymałem od Rafała SQ4AVS fragment programu w Bascomie wykorzystujący wirtualny port szeregowy oraz stosowny plik hex. Aby poznać mechanizm rozwijania poszczególnych instrukcji Bacoma na kod maszynowy procesorów AVR dokonałem disassemlacji pliku hex uzyskując program w postaci mnemoników assemlera.
Kod generowany przez Bascoma dla większości prostych instrukcji wygląda dość przyzwoicie, wszystkie zmienne umieszczane są w pamięci SRAM.
Utworzenie wirtualnego kanału szeregowego na procesorze jest dość proste i działa poprawnie przy umiarkowanych szybkościach i długościach ramek.
W analizowanym przykładzie wszystkie instrukcje do obsługi kanałów szeregowych (open, print, inkey, input) realizowane były poprzez procedury programowe bez użycia mechanizmu przerwań. Taki sposób obsługi transmisji w zależności od jej intensywności może powodować gubienie znaków podczas odbioru. Jeśli jakiś fragment programu pochłonie więcej czasu niż dwa znaki, jeden zostanie zgubiony. Rozwiązaniem problemu jest wykorzystanie przerwań do odbioru i buforowanie znaków. Nadawanie możemy realizować programowo poprzez port wirtualny.
73 Adam
Odpowiedz


Wiadomości w tym wątku
Bascom AVR - przez SP5FCS - 15-08-2010, 21:43

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości