czwartek, 31 maja 2018

PIC32MM - SPI + DMA zajęcia praktyczne.


Poprzednia randka z SPI i 32-bitowym mikrokontrolerem firmy Microchip PIC32MM została zrealizowana przy wykorzystaniu funkcji wygenerowanych przez wtyczkę do MPLABX-IDE , MCC (MPLAB Code Configuration).  Jakość kodu generowanego przez tę wtyczkę bije na głowę podobne rozwiązania u innych producentów. Wiem, że zaczynam się powtarzać :) ale pracę programistów Microchipa należy docenić, ponieważ dzięki ich trudowi , życie hobbysty jest prostsze :). W artykule pokażę, jak w prosty sposób użyć DMA do transferu danych po SPI oraz inne przydatne rzeczy takie jak np. konfiguracja pinów do współpracy z peryferium sprzętowym.

wtorek, 29 maja 2018

Wyświetlacz OLED 1.3" na sterowniku SH1106 - biblioteka dla PIC32MM

Ponieważ tak się złożyło, że jeden z czytelników mojego bloga, który chce poznać w praktyce PIC32MM, zwrócił się do mnie z prośbą o pomoc w pozyskaniu biblioteki do obsługi wyświetlacza OLED 1.3 opartego na sterowniku SH1106. Biblioteka taka powstała na bazie biblioteki zamieszczonej w zasobach LibStock.
Ja tylko zrobiłem pełną konwersję tej biblioteki do współpracy z 32-bitowym mikrokontrolerem PIC32MM firmy Microchip.
Co ciekawe działanie biblioteki sprawdzane było po stronie czytelnika bo ja takiego wyświetlacza akurat nie posiadałem :) Dzięki temu zadaniu poznałem potęgę GitHuba i jego superancką implementację w MPLABX-IDE. Upewniło mnie to w przekonaniu , że środowisko Microchipa jest bardzo wygodne i przyjemnie się w nim programuje.  Wyświetlacz jak wyświetlacz jest OLED-owy i jest chiński ,co nie gwarantuje , że w kolejnych partiach rzucanych na rynek nie zmieni się np. ilość pinów czy ich funkcjonalność. Nie mniej podstawową zaletą jest tutaj cena i jak na razie łatwa dostępność.

wtorek, 22 maja 2018

MPLABX-IDE współpraca ze zdalnym repozytorium na GitHub.

W tym krótkim artykule zapoznamy się z możliwością współpracy ze zdalnym repozytorium na GitHub-ie. Funkcjonalność taka jest zaimplementowana w MPLAB-X IDE czyli w podstawowym środowisku do programowania MCU PIC firmy Microchip. Nie widzę powodu abyśmy z tej funkcjonalności nie skorzystali a w zasadzie z tego dobrodziejstwa.
Tym bardziej , że jest to bardzo fajne narzędzie i sympatycznie się z niego korzysta. Co to jest GitHub ? w sumie to już nawet nie wypada nie wiedzieć :)
W artykule pokażę jak  podpiąć dowolny projekt w MPLABX-IDE do zdalnego repozytorium, jak zatwierdzać zmiany i wysyłać je. Czyli takie podstawowe rzeczy na dobry początek.

sobota, 19 maja 2018

PIC32MM - SPI zajęcia praktyczne

W tym artykule spróbujemy wykorzystać nabytą wiedzę o SPI w PIC32MM. W szczególności wykorzystamy wygenerowane przez MCC funkcje do obsługi SPI, o których wspominałem w artykule poprzednim. Naszym celem będzie wymiana danych pomiędzy dwoma MCU PIC32MM. Jeden będzie skonfigurowany jako Master a drugi jako Slave czyli klasyczny układ .
Aby zajęcia sprawnie przeprowadzić wykorzystam dwie płytki developerskie PIC32MM mojego autorstwa.  Praktyczna wiedza o SPI przyda nam się w następnym zagadnieniu. Zaczynamy zatem przedstawienie :)

środa, 16 maja 2018

PIC32MM - SPI , szybka konfiguracja za pomocą MCC

W MCU PIC32MM mamy do dyspozycji 3 x SPI, które mają trzy wyróżniające cechy : powiązany interfejs I2S co umożliwa np. przesyłanie muzyki z kodowaniem PCM, zmienną szerokość danych 8,16 i 32 bity oraz bufory FIFO niezależne dla RX i TX. Szybkość do 25 Mbps czyli szybko.W celu zapoznania się z konfiguracją SPI posłużymy się wtyczką do MPLABX-IDE - MCC (MPLAB Code Configurator). Microchip może być dumny z tego narzędzia bo jakość i opis generowanego kodu deklasuje podobne rozwiązania stosowane  u innych producentów MCU.

czwartek, 10 maja 2018

Mikrokontrolery PIC - kilka przydatnych makr oraz jak po swojemu zbudować dostęp do dowolnego rejestru MCU.

Pomimo , że rejestry w mikrokontrolerach PIC są bardzo dobrze opisane przyjaznymi strukturami co znacznie ułatwia programowanie ich , to czasami jednak zachodzi potrzeba zrobienia czegoś po swojemu .....

niedziela, 6 maja 2018

MCP9808 - cyfrowy czujnik temperatury, zajęcia praktyczne .

Biblioteka I2C do PIC32MM przygotowana. Jesteśmy zatem gotowi do poznania od strony praktycznej milutkiego cyfrowego czujnika temperatury MCP9808.
Czujnik ten ma sporo funkcjonalności jak na takie maleństwo i jest bardzo prosty w implementacji. Nie sprawił mi żadnych problemów przy uruchomieniu. Wszystko zaskoczyło od przysłowiowego pierwszego strzała. W sumie sam byłem zdziwiony , że tak łatwo poszło. Do uruchomienia czujnika MCP9808 posłużyłem się moją autorską płytką developerską dla PIC32MM.
Czujnik został osadzony na mini płytce-rozszerzeniu wpiętej w złącze PICbus, w które jest wyposażona moja płytka developerska . Mamy zatem kompletny modularny system do badania różnych komponentów z udziałem uroczego 32-bitowego MCU PIC32MM firmy Microchip.