STM32 pisanie kodu z użyciem biblioteki LL

Język C dla mikrokontrolerów ARM
ODPOWIEDZ
Awatar użytkownika
squeez
Użytkownik
Posty: 79
Rejestracja: 16 paź 2017, 23:52

STM32 pisanie kodu z użyciem biblioteki LL

Post autor: squeez » 26 sty 2018, 12:43

Tak z ciekawości zapytam. Pisze ktoś w oparciu o LL.
Ja dopiero niedawno się dowidziałem że taki twór istnieje :) jak rozpoczynałem zgłębianie HAL-a.

Wcześniej pisałem na rejestrach w oparciu o makra CMSIS. HAL jest fajny ale LL jest takie pomiędzy HAL a CMSIS.
Nie wiem jak jest z przenoszeniem kodu (na pewno lepiej niż na CMSIS) ale nie wiem jak np między F3 a F4 to wygląda. Są też mniejsze narzuty na zajętość kodu na korzyść LL no i są dwa podejścia.

1) można pisać podobnie jak przy rejestrach (korzystając z makr)

Kod: Zaznacz cały

LL_APB2_GRP1_EnableClock( LL_APB2_GRP1_PERIPH_GPIOA );
LL_GPIO_SetPinMode( GPIOA, LL_GPIO_PIN_2, LL_GPIO_MODE_OUTPUT);
LL_GPIO_SetPinOutputType( GPIOA, LL_GPIO_PIN_2, LL_GPIO_OUTPUT_PUSHPULL );
LL_GPIO_SetPinSpeed( GPIOA, LL_GPIO_PIN_2, LL_GPIO_SPEED_FREQ_LOW );
2) albo podobnie jak w HAL czyli z wykorzystaniem struktur.

Kod: Zaznacz cały

LL_GPIO_InitTypeDef gpio;

LL_GPIO_StructInit(&gpio);
gpio->Pin = LL_GPIO_PIN_2;
gpio->Mode = LL_GPIO_MODE_OUTPUT;
gpio->OutputType = LL_GPIO_OUTPUT_PUSHPULL;
gpio->Speed = LL_GPIO_SPEED_FREQ_LOW;

LL_APB2_GRP1_EnableClock( LL_APB2_GRP1_PERIPH_GPIOA );
LL_GPIO_Init(GPIOA, &gpio);
Mi przypada do gustu LL jest nieco bliżej krzemu :) ale jak to mawiają co kto lubi ...

A jak wasze doświadczenia z Low-Layer?

ODPOWIEDZ