Blog jest formą pamiętnika technicznego, upamiętniający moją przygodę z mikrokontrolerami PIC firmy Microchip. "Per aspera ad astra..."
niedziela, 29 września 2019
ILI9341 - kolorowy wyświetlacz w rozmiarze 2.8"
niedziela, 22 września 2019
Jak napisać w języku C wygodny dostęp do warstwy sprzętowej . Praktyczny przykład na bazie modułu radiowego SI4463.
W artykule pokażę jedną z metod poruszania się po warstwie sprzętowej w języku C . Swoje rozważanie oprę na module radiowym SI4463. Ale tak naprawdę sprzęt jest tylko tłem dla pokazania samej metodologi i podejścia do zagadnienia. W wielu przypadkach bazujemy na bibliotekach sprzętowych napisanych przez innych adeptów języka C ,no bo w sumie po co odkrywać koło na nowo. Jeśli mamy szczęście to z takich bibliotek można się czegoś nauczyć bo metodologia jest zrozumiała i w sposób przejrzysty zakodowana. Ale to rzadkość. W większości przypadków do bibliotek czujemy awersję bo styl nam nie leży i ostatecznie trudno zrozumieć co poeta miał na myśli etc. Działa bo działa ale analiza kodu przysparza nas o ból głowy, więc odpuszczamy. Ekspertem od języka C nie jestem i wymądrzać się tutaj nie mam zamiaru. Ale ja wiele nauczyłem się na podstawie plików nagłówkowych napisanych dla MCU 32 bitowych. Gdzie królują Struktury , Unie, Wskaźniki . Moim zdaniem to olbrzymia kopalnia wiedzy o programowaniu warstwy sprzętowej w języku C, ponieważ te pliki piszą zawodowi informatycy, dlatego mamy pewność, że zastosowane rozwiązania programistyczne są optymalne.środa, 18 września 2019
SI4463 - transciver RF firmy Silicon Labs - STANDBY mode (50nA)
Mój ulubiony moduł radiowy SI4463 jest mistrzem w trybach Power Saving. Dlatego jest doskonałym wyborem dla aplikacji bateryjnych. W najniższym dostępnym trybie Shutdown uzyskamy pobór prądu na poziomie 30 nA !!!. Czyli można by rzec, że ilość śladowa. W artykule podejmę się krótkiej retrospektywy trybów Power Saving dostępnych w module. Ze szczególnym uwzględnieniem trybu STANDBY, który wydaje się być idealnym trybem z punktu widzenia poboru prądu i czasu pobudki.
wtorek, 10 września 2019
SAM L10/L11 External Interrupt Controller (EIC)
Artykuł jest potrzebą chwili i powstał pod wpływem pisania biblioteki dla modułu radiowego SI4463. Podczas pisania biblioteki zaszła potrzeba użycia przerwania sprzętowego na pinie PA03 , który współpracuje z pinem IRQ modułu radiiowego RF. Niby sprawa trywialna ot wyczarujmy sobie przerwanie no ale kiedy poznajemy jakiś MCU i pierwszy raz stykamy się z jego modułem peryferyjnym opierając się tylko na dokumentacji to takie zadanie może stać się wyzwaniem :) . W artykule pokażę jak wyglądała moja droga do rozpoznania i w efekcie konfiguracji przerwania sprzętowego z wykorzystaniem modułu peryferyjnego EIC (External Interrupt Controller)sobota, 7 września 2019
ATSAML10/11 - nowa wersja (ver 3.3) płytki developerskiej
Nowa wersja płytki dla ATSAML10 jest już dostępna. Przyczynkiem aktualizacji była praca nad biblioteką dla modułu radiowego SI4463. W boju wyszło mi, że przydałoby się więcej dostępnych GPIO dla gniazda pod moduł RF. Przy okazji wykryłem błąd związany z przełącznikami SW1 i SW2. Do płytki dodałem dwie diody LED , domyślnie do wykorzystania jako sygnalizacja dla modułu radiowego , tryb TX i RX. Nowa płytka jest dostępna na GitHub . Płytka sprawdza się w boju jest ładna , seksowna i funkcjonalna. Szczególne pięknie prezentuje się z obsadzonym wyświetlaczem i modułem radiowym RF a wszystko to spasowane kolorystycznie , można oprawić w ramki wieszać na ścianie , podziwiać i cieszyć się widokiem :)
Subskrybuj:
Komentarze (Atom)

