21-04-2012, 8:31
Jarek, prostota kodu oraz gotowe funkcje to największe zalety Bascoma, szczególnie na początku nauki programowania. Jeśli do języka C dostarczymy odpowiedni zestaw funkcji w postaci dodatkowej biblioteki to program może być równie prosty.
Wadą funkcji Shiftout Bascoma jest programowa obsługa interfejsu SPI. Sprzętowa obsługa jest prostsza, szybsza i zajmuje mniej kodu. zaletą jest to, że możemy obsługiwać SPI na dowolnych pinach albo mieć kilka niezależnych interfejsów SPI.
Struktury
Bardzo silnym narzędziem dla programistów w języku C są struktury danych. Często w złożonych aplikacjach musimy operować na blokach danych składających się z wielu parametrów. Jako przykład weźmy nastawy radia na paśmie. Kiedy zmieniamy pasmo musimy zmienić również: antenę, modulację, tłumik wejściowy, wstęgę a może i nastawę automatyki, dsp, itd. Wielokrotne przepisywanie kilkunastu parametrów jest kłopotliwe, kod jest rozbudowany i nieczytelny. Tu z pomocą przychodzi możliwość zdefiniowania struktury w postaci wieloparametrowej zmiennej.
Dalsze operacje odbywają się już na całej strukturze (zapis, odczyt, przepisywanie) lub na jej wybranych elementach gdy pobieramy lub modyfikujemy jedno ustawienie na paśmie.
Wadą funkcji Shiftout Bascoma jest programowa obsługa interfejsu SPI. Sprzętowa obsługa jest prostsza, szybsza i zajmuje mniej kodu. zaletą jest to, że możemy obsługiwać SPI na dowolnych pinach albo mieć kilka niezależnych interfejsów SPI.
Struktury
Bardzo silnym narzędziem dla programistów w języku C są struktury danych. Często w złożonych aplikacjach musimy operować na blokach danych składających się z wielu parametrów. Jako przykład weźmy nastawy radia na paśmie. Kiedy zmieniamy pasmo musimy zmienić również: antenę, modulację, tłumik wejściowy, wstęgę a może i nastawę automatyki, dsp, itd. Wielokrotne przepisywanie kilkunastu parametrów jest kłopotliwe, kod jest rozbudowany i nieczytelny. Tu z pomocą przychodzi możliwość zdefiniowania struktury w postaci wieloparametrowej zmiennej.
Kod:
typedef struct {
s32 freq_tx;
s32 freq_rx;
u8 step;
u8 antena;
u8 att;
u8 filtr;
u8 modulacja;
u8 agc;
} band_struc;Dalsze operacje odbywają się już na całej strukturze (zapis, odczyt, przepisywanie) lub na jej wybranych elementach gdy pobieramy lub modyfikujemy jedno ustawienie na paśmie.
73 Adam

