ATNEL tech-forum https://forum.atnel.pl/ |
|
Przeportowanie instrukcji z C++ na C. Problem. https://forum.atnel.pl/topic24154.html |
Strona 1 z 1 |
Autor: | mario2015 [ 21 lut 2022, o 13:44 ] |
Tytuł: | Re: Przeportowanie instrukcji z C++ na C. Problem. |
Niestety, tak jak pisałem w pierwszym poście, sterownik to prawdopodobnie SPDF5408 i nie obsługuje magistrali SPI. |
Autor: | mirekk36 [ 21 lut 2022, o 14:08 ] |
Tytuł: | Re: Przeportowanie instrukcji z C++ na C. Problem. |
mario2015 napisał(a): Pierwszy problem jest taki, że nie wiem co to za zapis w C++ i do czego służy: Przecież to jakaś zwykła inicjalizacja gdzie przekazywane są pewnie numery pinów tych andruinowych dla sygnałów sterujących i rozdzielczość wyświetlacza, przecież w C i tak po swojemu musisz to zrobić - całkiem po swojemu. |
Autor: | Marhef [ 23 lut 2022, o 10:57 ] |
Tytuł: | Re: Przeportowanie instrukcji z C++ na C. Problem. |
A to nie jest przypadkiem konstruktor? Wrzuć tu całą bibliotekę, jak ogarnę dziurę w dachu to postaram się pomóc |
Autor: | mario2015 [ 23 lut 2022, o 21:08 ] |
Tytuł: | Re: Przeportowanie instrukcji z C++ na C. Problem. |
Marhef Cytuj: Wrzuć tu całą bibliotekę, jak ogarnę dziurę w dachu to postaram się pomóc proszę oto cała biblioteka. Nie wiem jak to przerobić na M32 w czystym C. |
Autor: | Marhef [ 10 mar 2022, o 15:11 ] |
Tytuł: | Re: Przeportowanie instrukcji z C++ na C. Problem. |
Zerknąłem na bibliotekę. Tak na szybko: 1) biblioteka obsługuje kilka sterowników: ILI932x (obstawiam, że x oznacza kilka sterowników), HX8347G, ILI9341, HX8357, HX8357B, HX8357D. 2) w pliku registers.h masz rozpisane adresy rejestrów dla poszczególnych sterowników 3) w pliku pin_magic.h masz przypisanie pinów do wyświetlacza i funkcje wysyłania/odbierania danych. I delay na instrukcjach ASM. UWAGA! Z tego, co widzę, wszystko jest pisane jako makra preprocesora! Żeby wymusić wstawienie ich inline. Nie wiem, czy to dobre rozwiązanie, no ale biblioteka jest pod arduino, więc... 4) w pliku Adafruit_TFTLCD.h masz deklarację klasy Adafruit_TFTLCD. Nie pamiętam z c++, co znaczy taki zapis: język cpp Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. ![]() Klasa w c++ to... taka rozbudowana struktura, gdzie oprócz zmiennych są też funkcje działające na tych zmiennych. I zmienne i funkcje mogą być publiczne (public), prywatne (private) albo chronione (?)(protected). Publiczne są dostępne z poza klasy, prywatne nie, a te trzecie to sam nie wiem ![]() Klasa zawiera funkcję, która nazywa się tak jak klasa i jest to konstruktor. Przy tworzeniu zmiennej typu klasa, automatycznie wywoływany jest konstruktor. Na przykład po to, żeby uzupełnić pola klasy konkretnymi wartościami. W c++ istnieje coś takiego jak przeciążenie funkcji. Oznacza to, że może istnieć kilka funkcji o takiej samej nazwie, a o innych argumentach. I to też tu widać. W pliku .cpp masz takie dziwne konstrukcje z dwoma dwukropkami. To oznacza, że jest to funkcja z klasy. Na chwilę obecną nie jestem w stanie przepisać Ci tych funkcji, nie mam na to czasu. Spróbuj powoli sam, pytaj, jak będziesz miał jakiś problem |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |