gaskoin napisał: BTW najpierw powinieneś coś wysłać a potem czekać na opróżnienie bufora - nie na odwrót jak u Ciebie.
Nieprawda - właśnie lepiej czekać PRZED, bo po wysłaniu wcale nie musisz - możesz w tym czasie robić coś innego. Jest to rozwiązanie o wiele bardziej optymalne - czekając PO czekasz ZAWSZE (nawet jak za chwilę nic nie będziesz wysyłał. Czekając PRZED czekasz tylko jak jest potrzeba. A z ustawieniem CS i tak trzeba czekać na inny bit, bo TXE ani RXNE niekoniecznie znaczą, że transmisja się skończyła... Do tego celu jest bit BSY.
^Rachel napisał: Wolę ręcznie poustawiać wszystko, bo tak szczerze to trochę mnie to śmieszy , żeby były biblioteki do ustawiania I/O gdzie to powinno być najprostsze ?
Po pierwsze nie mówimy o "ustawianiu" (zero/jeden) pinów, tylko o ich konfiguracji.
Po drugie to się robi zwykle raz na początku i koniec.
Po trzecie nawet jak chcesz przestawić na coś innego, to bez funkcji jest to jeszcze bardziej bolesne, bo trzeba zerować części rejestrów.
Po czwarte zaś - jak będziesz miał do skonfigurowania 50 różych pinów w 15 różnych plikach, to też będziesz wolał robić wszystko ręcznie zamiast np tak:
gpio_pin_cfg(LED_GPIO, LED_pin, GPIO_OUT_PP_25MHz);
?
Po ostatnie - z takiej funkcji od razu widać co ustawiasz, z Twoich liczb - nikt nic nie skuma.
4\/3!!