środa, 30 listopada 2016

[3] STM32F7 - Usart, zapis i odczyt danych

Ten post chciałbym poświęcić na opisanie kilku funkcji pozwalających na dosyć efektywną pracę z USART'em na mikrokontrolerze STM32F7. Ja wykorzystywałem dwa z nich tzn. wbudowany do wejścia USB oraz ten podłączony pod linie PC6 i PC7.

Poniżej przedstawię tylko sposoby włączenia oraz opis potrzebnych i przydatnych funkcji:

piątek, 25 listopada 2016

[2] STM32F7 - SDRAM

Ten post chciałbym poświęcić na opisanie sposobu zaprogramowania pamięci SDRAM zamontowanej na płytce STM32F7 Discovery. Jest to model MT48LC432B2B5-6A firmy Micron. Zastosowana kość posiada 128Mb pamięci, dla mikrokontrolera jest dostępne 64Mb. Linie DQ16 do DQ31 są podłączone do rezystorów podciągających do masy.

Rys. 1. Schemat podłączenia [UM1907]

wtorek, 22 listopada 2016

[1] STM32F7 - Porty GPIO

W tym poście chciałbym przedstawić podstawowe funkcje odpowiedzialne za obsługę portów WE/WY w układzie STM32F7. W tym przypadku biblioteki standardowe są już nie dostępne dlatego w całości posłużę się bibliotekami HAL'a oraz bezpośrednio rejestrami mikrokontrolera.

Funkcje:


poniedziałek, 21 listopada 2016

[7] STM32F4 - CubeMx - USART przez DMA

W tym poście chciałbym przedstawić sposób wykonania transmisji poprzez USART z wykorzystaniem DMA. Wykorzystam do tego celu środowisko Cube Mx oraz biblioteki Hal'a. 

Cały proces włączenia USART'a oraz przesyłania dany z wykorzystaniem DMA za pomocą CubeMx jest bardzo prosty i bezproblemowy.

CubeMx

niedziela, 20 listopada 2016

[|||] STM32F4 - Discovery - Projekt - Obsługa klawiatur membranowych 20x20

Ten post chciałbym poświęcić na przygotowanie programu, którego zadaniem będzie obsługa klawiatury membranowej o zadanym zakresie. Maksymalna liczba linii oraz wierszy została ustawiona na 20. Czyli potrzebna zastosować 40 pinów mikrokontrolera. 

Podłączenie


sobota, 19 listopada 2016

[1] STM32F429l - Wyświetlacz LCD

W tym poście chiałbym przedstawić sposób obsługi wyświetlacza zamontowanego na płytce STM32F429l Discovery za pomocą CubeMx oraz bibliotek standardowych.

Opis wyświetlacza:


Na płytkach discovery z  mikrokontrolerm STM32F429l znajduje się wyświetlacz LCD wyposarzony w sterownik ILI9341. Rodzielczość to 2,41", QVGA 240x320 pikseli. Głębia kolorów to 16(65536) bądź 18 bitów (262144). Co daje całkiem pokaźną liczbę kolorów.

sobota, 12 listopada 2016

C - Rozdzielanie zmiennej 32 bitowej, wyswietlanie w hex

W tym temacie chciałbym pokazać dwa proste programy pozwalające na rozdzielenie liczby dziesiętnej na pojedyncze elementy oraz wyświetlenie tej samej liczby jako wartości szesnastkowej.

Program do wyświetlenia wartości liczbowej po jednej cyfrze:

wtorek, 8 listopada 2016

[3] ATXmega - Biblioteka HID, klawiatura

Ten post chciałbym poświęcić na uruchomienie układu ATXmega, pracującego jako klawiatura.

Inicjalizacja biblioteki:


Po przygotowaniu projektu dla wybranego mikrokontrolera. Bibliotekę wgrywa się poprzez asf (atmel software framework). Po wgraniu jest ona prawie w pełni gotowa do używania. Zostało już tylko odpowiednio włączyć zegary:

poniedziałek, 7 listopada 2016

[0] STM32F0 - GPIO oraz UART

Tym razem przedstawię szybki post dotyczący mikrokontrolerów STM32F0 w którym przedstawię podstawowe operacje na portach GPIO w oparciu o mikrokontroler STM32F030P6.

Program dla GPIO

[2] ATXmega - 128A3U - Sygnały zegarowe

Ten post chciałbym poświęcić na szybki opis sygnałów zegarowych oraz sposobu ich deklaracji w mikrokontrolerach z rodziny ATXmega.

Mikrokontrolery z tej serii mają (tak przynajmniej mi się wydaje) jedno wejście pozwalające na podłączenie kwarcu. Dlatego należy wybrać jakiego rodzaju on będzie czy zwykły do taktowania całego układu, czy też zostawienie go dla zegara czasu rzeczywistego. Druga opcja jest zdecydowanie lepsza bo zegary wewnętrzne zdeklarowane zakresy pracy posiadają tylko dla temperatury pokojowej. Dla pozostałych zakresów te wartości mogą znacznie (kilka procent) odbijać od zdeklarowanej.

[24] STM32F4 - Biblioteka HID, klawiatura oraz myszka

W tym poście chciałbym opisać sposób wykonania oraz zastosowanie biblioteki HID (Human Interface Device) w mikrokontrolerze STM32F4. Można ją włączyć tylko dla mikrokontrolerów posiadających wbudowany interfejs USB. W przykładach będę przesyłał określony ciąg znaków poprzez USB do komputera. Dane zostaną wysłane po naciśnięciu klawisza,

Wspomniana powyżej biblioteka czy też klasa została opracowana dla urządzeń typu klawiatura czy myszka. Ma ona tą zaletę, że dzięki temu sterowniki zostały zawarte w każdym komputerze i urządzenie jest gotowe do działania zaraz po jego podłączeniu do komputera.

Aby urządzenie działało w nieco inny sposób to należałoby przygotować odpowiedni program na komputer PC np. w języku Delphi czy C#. I bibliotekę aktywować jako Custom HID. Program dla mikrokontrolera jest bardzo prosty w implementacji zwłaszcza z wykorzystaniem bibliotek HAL-a oraz programu Cube Mx.

Bardzo ważne jest także dobranie taktowania. Zegar dla USB powinien wynosić 48MHz.

sobota, 5 listopada 2016

czwartek, 3 listopada 2016

[3] STM32F1 - Rejestry - Timer na przerwaniach

Ten post chciałbym poświęcić na opisanie timerów w mikrokontrolerze STM32F103.

Rejestry:


Dokładny opis przedstawionych rejestrów znajduje się w dokumentacji producenta CD00017119.

TIMx_CR1 - jest to 16 bitowy rejestr kontrolny. Do wyboru są takie ustawienia jak prędkość (CKD), automatyczne przeładowanie (ARPE), sposób zliczania (CMS), kierunek (DIR), tryb jedno-impulsowy (OPM), żądanie aktualizacji źródła (URS), wyłączenie aktualizacji UEV (UDIS), włączenie zliczania (CEN);

środa, 2 listopada 2016

[28] Arduino - Klawiatura membranowa

Ten post chciałbym poświęcić na przygotowanie programu obsługującego klawiaturę membranową w formacie 4x4, która posiada 16 klawiszy. Jej wygląd przedstawiłem poniżej na rysunku 1. 

Rys. 1. Klawiatura matrycowa [elektroda.pl]