abel11 napisał(a):
UART też wybierasz wyprowadzenia TX, RX oraz częstotliwość i czy chcesz żeby w przerwaniach działał czy nie i tyle kod do hardware generuje się "sam", nic tylko siadać i pisać "właściwy kod" programu w C, a nie ślęczeć nad PDF i ogarniać obsługę peryferii.
Ciekawi mnie czy działa to dobrze czy tak sobie?
CubeMX i HAL dla STM, przy pracy w roli master (SPI, I2C, UART) działa dobrze, nawet bardzo dobrze gdy używać DMA czy przerwań. Kiepsko gdy używać bez przerwań wysyłać pojedyncze bajty, wtedy lepiej zrobić to bezpośrednio na rejestrach. Odbiór dla USART czy SPI działa słabo, najlepiej zrobić to bez HAL na rejestrach. Podobnie GPIO, nie wiedzieć czemu, nawet jak mikrokontroler ma osobny port to ustawiani i kasowania bitów, HAL korzysta tylko z rejestru SET/RESET, przez co niepotrzebnie wykonywane jest << 16 na danych.
HAL dla STM ma wiele niedociągnięć ale PLL i taktowanie peryferiów wykonuje bardzo dobrze. Cube jest dobrym narzędziem nie tylko dla początkujących.
Ciekawi mnie jest to jest w AVR. Mało prawdopodobne abym robił jakieś projekty na AVR, ale nigdy nic nie wiadomo. Ze starszymi wersjami AVR nie ma problemu, sa proste jak budowa cepa ale nowsze mają dość rozbudowane peryferia a człowiek z natury jest leniwi i nie chce się czytać not katalogowych.