ATNEL tech-forum https://forum.atnel.pl/ |
|
Pliki nagłówkowe - problemy z wykorzystaniem https://forum.atnel.pl/topic21860.html |
Strona 1 z 1 |
Autor: | Kabuuz [ 10 sty 2019, o 23:03 ] |
Tytuł: | Pliki nagłówkowe - problemy z wykorzystaniem |
Cześć. Dopiero zaczynam swoją przygodę z mikrokontrolerami. Czytam książkę "Mikrokontrolery AVR- podstawy programowania" i jest tam napisane, że kiedy chcemy zrobić własny plik do korzystania np. z klawiatury to tworzymy plik klawiatura.c i plik klawiatura.h. Na początek chciałem spróbować z czymś prostym więc stworzyłem pliki klawisz.c i klawisz.h żeby w zależności od stanu przycisku zapalać lub gasić diodę i mam mały problem. -w którym z tych plików mogę/powinienem użyć "#define zmienna wartosc" żeby potem móc tego użyć w mainie i jak tego użyć (próbowałem w klawiatura.h i klawiatura.c ale nie wykryło tego co napisałem). Chciałem tego użyć do ustawienia odpowiednich bitów DDRx i PORTx -w plikach nagłówkowych nie mogę użyć uint8_t ani żadnego podobnego bo podobno nie rozpoznaje typu("Cannot be resolved to a type), dopiero zwykły int działa, jak to rozwiązać? main: język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
klawisz.c język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. klawisz.h: język c Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod. Z góry dzięki za pomoc |
Autor: | mirekk36 [ 11 sty 2019, o 03:17 ] |
Tytuł: | Re: Pliki nagłówkowe - problemy z wykorzystaniem |
Łooooch, aleś pan namieszał ... no namieszał że aż strach się bać a szczególnie tego stwierdzenia Kabuuz napisał(a): w plikach nagłówkowych nie mogę użyć uint8_t ani żadnego podobnego bo podobno nie rozpoznaje typu, nie obraź się, ale stwierdzenia KOMPLETNIE bez sensu ... skąd ty takie informacje bierzesz ? Coś czuję, że jeśli nie czytałeś jakichś czeluści internetu to być może niedawno wpadł ci w oko pewien wątek na forum - gdzie coś było o tym wspominane, ale widać, że nie przeczytałeś całego wątku albo tylko po tzw łepkach i na tej podstawie wysnuwasz jakieś niestety kocie wnioski ale do rzeczy: Skoro już masz Bluebooka to postaraj się zajrzeć do programów do niego dołączonych i zobacz jak to się robi, gdzie się umieszcza makra za pomocą dyrektyw #define .... oczywiście, że zwyczajowo w plikach nagłówkowych no ale nie tylko, bo preprocesor wykorzystuje się chociażby do kompilacji warunkowej więc czy z tego powodu czy z innych można używać #define w plikach źródłowych - wszystko zależy od potrzeb. Ale zanim się zrozumie te różne potrzeby - to staraj się działać z tą zasadą, że korzysta się z nich w plikach nagłówkowych tak jak napisane jest w Bluebooku Kabuuz napisał(a): Na początek chciałem spróbować z czymś prostym więc stworzyłem pliki klawisz.c i klawisz.h żeby w zależności od stanu przycisku zapalać lub gasić diodę i mam mały problem. Jesteś stosunkowo nowy na forum więc tylko dlatego nie daję warna za tak zadane pytania - bo jest to typowe pytanie do rasowych jasnowidzów - a takich na tym forum nie ma - więc na przyszłość bardzo uprzejmie proszę - zadając pytanie podawaj odpowiednie informacje, żeby można było coś pomóc a nie się domyślać czy grać w kalambury, zagadki i ciągnąć za język - żebyś pokazał fragment kodu, który piszesz i masz w nim błędy ok? po prostu wklej kod takich dwóch plików, do tego swojego testowego pliku main.c - pokaż jak to wszystko inkludujesz i ew jakiś zrzut ekranu np z Eclipse czy z konsoli jakie to dokładnie błędy ci się pokazują - bo inaczej to jak mówię - zacznie się zgadywanka i jasnowidztwo zamiast otrzymania krótkiej i konkretnej pomocy Kabuuz napisał(a): -w którym z tych plików mogę/powinienem użyć "#define zmienna wartosc" żeby potem móc tego użyć w mainie i jak tego użyć (próbowałem w klawiatura.h i klawiatura.c ale nie wykryło tego co napisałem). Jak mówię w materiałach do książki masz milion przykładów gdzie można to zobaczyć - nie wspominając że i w książce te przykłady też są, ale ok i tu ci podpowiem, że to co konkretnie chcesz zrobić to w pliku *.h Kabuuz napisał(a): w zależności od stanu przycisku zapalać lub gasić diodę i mam mały problem. Gdzie masz konkretnie ten problem? pokazałeś w jakikolwiek sposób nie wiem kod błędu? wynik z konsoli po kompilacji ? Kabuuz napisał(a): Dodałem wcześniej <avr/io.h> Gdzie to dodałeś poza tym, że wcześniej ? słówko wcześniej wcale nie wyjaśnia gdzie Mam nadzieję, że poprawisz opis problemu ok? |
Autor: | Kabuuz [ 11 sty 2019, o 08:59 ] |
Tytuł: | Re: Pliki nagłówkowe - problemy z wykorzystaniem |
Tego wątku nie widziałem bo jestem całkowicie nowy. Rozwiązałem problem. Eclips podświetlał wykorzystanie typu uint8_t jako błąd jeśli nie znajdowało się w main.c. Podobnie było z dyrektywami #define, a że stwierdziłem, że skoro podświetla to jako błędy to coś musi być nie tak to tego nie budowałem i próbowałem dodawać różne includy znalezione w internecie. Teraz spróbowałem to zbudować i wszystko śmiga. Następnym razem postaram się lepiej opisywać problem |
Strona 1 z 1 | Strefa czasowa: UTC + 1 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |