[3] JAVA i STM32 – ekspresowy kurs programowania z MicroEJ – obsługa ADC i DAC

 

List. 6. Kod metody main

Wystarczy już tylko utworzyć nową konfiguracją z opcją Execute on EmbJPF, aby aplikacja była gotowa do zaprogramowania w pamięci mikrokontrolera.

Obsługa przetworników (C)

Przed uruchomieniem aplikacji trzeba jeszcze dokonać zmian w BSC dodając obsługę przetworników. Po uruchomieniu projektu w środowisku uVision należy utworzyć dwa nowe pliki adc.c i dac.c zawierające implementacje zadeklarowanych w Javie funkcji kontroli przetworników. Funkcje te pokazano na listingach 7 i 8.

List. 7. Implementacja funkcji inicjalizacji i pobrania wartości przetwornika analogowo-cyfrowego

List. 8. Implementacja funkcji inicjalizacji i ustawiania wartości przetwornika cyfrowo-analogowego

Na pierwszy rzut oka można zauważyć charakterystyczne nazwy wszystkich czterech funkcji. Z uwagi na to, że są one wywoływane z kodu Javy, muszą one mieć w swojej nazwie pełną ścieżkę do swoich deklaracji w aplikacji z uwzględnieniem pakietów i klas w których się one znajdują. Poza nazwani, nie odbiegają niczym od funkcji znanych z przykładów biblioteki STM32 Standard Peripheral Library. Funkcje konfiguracyjne inicjalizują sygnały zegarowe dla swoich peryferii oraz przypisanych im portów GPIO (PC3 dla ADC i PA5 dla DAC) wypełniają struktury inicjalizacyjne. Funkcja odczytująca wartość ADC nie wykorzystuje przerwań, lecz po uruchomieniu konwersji czeka na jej zakończenie sygnalizowane odpowiednią flagą.

Projekt można teraz skompilować i zaprogramować pamięć mikrokontrolera. Po każdym odwołaniu do funkcji C, w konsoli debugowania (Debug (printf) Viewer) można zaobserwować logi wyświetlane przez poszczególne funkcje.

Do pobrania

O autorze