Witaj,
Ja też początkujący jestem......
(19-08-2016 9:13)QRP73 napisał(a): [ -> ]... w pliku stm32f4xx brakuje deklaracji pod LTDC...
Tak, obecna wersja EmBitz-a bazuje na starych wersjach bibliotek, i w przypadku nowszych STM-ów brakuje deklaracji (opisu) peryferii. Można dodać je ręcznie samemu, lub podmienić pliki na nowsze wersje. Dlatego właśnie należy wklejać kompletne archiwum projektu. W naszych przykładach, które udostępniliśmy do tej pory, brakujące definicje są dodane, ale tylko te które tyczą się użytego peryferiala np. SPI5 w przykładach obsługi LCD przez SPI.
Z ciekawości zaglądnąłem do Twojej paczki i zauważyłem, że dodałeś nowe wersje plików stm32f4xx.h oraz stm32f429xx.h zastępując te defaultowe z Embitza. Jak zauważyłes zapewne, w tym podmienionym stm32f4xx.h jest przyjęta inna zasada. To za pomocą niego inkludowane są odpowiednie pliki nagłówkowe z definicjami rejestrów - w tym przypadku jest dodatkowo dołączany stm32f429xx.h dotyczący STM-a na naszej płytce Discovery. W pliku dostarczanym przez EmBitza (stm32f4xx.h) już są zawarte takie definicje, ale "wybrakowane" -jak sam zauważyłeś.
I tu mała uwaga. Do większości Twoich plików dodawałeś na początku dyrektywę preprocesora #define STM32F429xx. Oczywiście jest ona potrzebna, aby poprzez plik nagłówkowy stm32f4xx.h został dodatkowo dołączony stm32f429xx.h.
Ale tego się tak nie robi, bo jak miałbyś w projekcie np. 500 plików żródłowych to do wszystkich byś musiał dodać to #define STM32F429xx.
A co byś zrobił, jak chciałbyś część plików z tego projektu użyć w innym projekcie z innym modelem STM-a - dla przykładu stm32f439 ? Trzeba by wszystko edytować i zmieniać na np #define STM32F439xx !!!
Te definicja dla preprocesora
#define STM32F429xx musi być widziana globalnie w projekcie. Dlatego też nie umieszcza się jej w plikach źródłowych projektu, TYLKO dopisuje się do parametrów kompilatora w postaci
STM32F429xx. A pole do dopisania znajduje się w
Build options. Prawy klawisz na nazwie aktywnego projektu w oknie z drzewem projektów. Należy ten wpis dodać do obu profili projektu: Debug oraz Release.
[
attachment=11346]
Generalnie o prawidłowe wpisy powinien zadbać kreator projektu EmBitza, ale że bazuje na starych wersjach bibliotek, nie robi tego. Nowa wersja EmBitza ma mieć już to poprawione, bo i będzie mieć nowsze biblioteki.
W innym środowisku IDE konfiguracja będzie w innym miejscu. Dla przykładu IDE CodeLite:
[
attachment=11347]
(19-08-2016 9:13)QRP73 napisał(a): [ -> ]Nie moglem sobie poradzic z naglowkiem pod procesor stm32f429, poniewaz EmBitz nie ma mozliwosci wybrania tego modelu.......
Jestem pewien, że stm32f429 jest wspierany w kreatorze projektu EmBitz.
[
attachment=11345]
Trochę z innej "beczki"...
Zauważyłem jeszcze jedną niepokojącą praktykę. Naszym językiem jest język polski, którym się na co dzień posługujemy. Jeżeli do pisanego kodu dodawane są opisy, to niech będą w naszym ojczystym języku, a nie jak można zauważyć w modzie od kolegi BUBAMUBA, jakąś łamaną angielszczyzną ! To ma być dla nas zrozumiałe...
Oczywiście uwaga ta nie dotyczy się kodu / bibliotek, które importujemy od kogoś ( cmsis, hal, spl oraz inne.....) bo szkoda czasu na tłumaczenie, tylko tych, które sami piszemy. Komentujmy nasze przykłady, programy, biblioteki, które będą zamieszczane na forum w naszym ojczystym języku.