Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 24 maja 2026, o 16:48


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 
Autor Wiadomość
PostNapisane: 9 gru 2015, o 22:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

Wydawało mi się to banalne - i na pewno tak jest, ale coś robię nie tak. Nie potrafię stworzyć projektu wieloplikowego. Z BB mogę taki zaimportować i działa, ale jak próbuję coś stworzyć od podstaw sam, to się wysypuje.
Prosty przykład:

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


W pliku 1_w.h wyskakuje przy pierwszej linii pytajnik (Macro definition not found: 1_W_1_W_H_), a całe pole poniżej jest szara - wyłączone z kompilacji....

Pliki i foldery tworzę poprzez NEW: folder, header file, source file
Może w tym jest pies pogrzebany? Może trzeba potem jakoś dodać te pliki do projektu??? Pomóżcie - proszę.

_________________
Mr. Nobody



Ostatnio edytowano 9 gru 2015, o 22:49 przez APAP75, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2015, o 22:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

A co includuje pierwsza linia?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2015, o 22:57 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

Poprawione.... Sorki, przedtem po przeczytaniu "Kolorowanie składni:(syntax=jezyk_programowania)kod(/syntax)"* pisałem "syntax= ...." z palca i pomiędzy umieszczałem kod (tak jak w html) i byłem szczęśliwy, że stosuję się do zasad :lol:

Czuję, że z moim "problemem" będzie podobnie.....

*nawiasy zmieniłem na okrągłe, bo sieczkę robiło

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2015, o 23:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Zamień
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

na
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


--
Pozdrawiam,
Robert


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2015, o 23:25 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

Ha... pomogło - dzięki
Jednakże spytam jak moja córka: "DLACZEGO ?"
W książce Mirka nie ma podkreśleń, a jednak kod się kompiluje ....

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2015, o 23:31 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 mar 2014
Posty: 1475
Pomógł: 167

Cytuj:
Jednakże spytam jak moja córka: "DLACZEGO ?"
To powinienem odpowiedzieć na przekór jak kobieta: "Bo tak" :)

Wersja działająca nie zaczyna się od liczby. Gdy masz na początku 1, to preprocesor traktuje to jako wartość a nie nazwę.

--
Pozdrawiam,
Robert



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 gru 2015, o 23:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

AHA.... dzięki

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 gru 2015, o 07:59 
Offline
Użytkownik

Dołączył(a): 27 lis 2015
Posty: 36
Zbananowany użytkownik

Pomógł: 5

Z deszczu pod rynnę. A z kolei nazwy od podkreślnika zarezerwowane są dla wewnętrznych potrzeb kompozytora. Masz szczęście że nie trafiłeś na żadną tego typu. Zmień nazwę tego makra albo stosuj #pragma once



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 gru 2015, o 08:56 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

To są właśnie takie drobne niuansiki, o których jak się nie wie, to można utknąć w miejscu, rwać włosy z głowy (pozostałe - pensetą :D ) a bazując TYLKO na logicznym myśleniu kroku do przodu się nie zrobi.
Kolejny kwiatek w świecie AVR.
Mój pierwszy - kasowanie flagi poprze wpisywanie "1" :D (wiem, wiem - jest w nocie katalogowej)
Dziękuję wszystkim za pomoc obecną i przyszłą (eclise znów mi coś popodkreślał :mrgreen: )

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 gru 2015, o 18:17 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

Kolejny problem (dla mnie) to zmienne globalne.
Zrobiłem mała modyfikację plików:

plik .h
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


plik main.c:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Reszta bez zmian.

Program nie kompiluje się, nie podkreśla żadnych błędów, a w konsoli wyskakuje komunikat:

main.c:(.text.startup.main+0x4): undefined reference to `globalna'
collect2.exe: error: ld returned 1 exit status
make: *** [wieloplikowy.elf] Błąd 1

?????? Co tym razem zmaściłem? :roll:


JUŻ DOCZYTAŁEM !!!!
extern uint8_t globalna; w pliku .h to deklaracja zmiennej, należny ją jeszcze zdefiniować w pliku main.c
Przynajmniej tak to zrozumiałem :mrgreen:
Program się kompiluje, muszę napisać coś z LCD, aby się "upewnić", że działa.

Poprawka - nie MUSI być definicja w main.c, może być także w 1_w.c
:lol:

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 gru 2015, o 19:29 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27460
Lokalizacja: Szczecin
Pomógł: 1045

No widzisz ;) jak się doczyta - to się ma dobrze

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 gru 2015, o 19:41 
Offline
Użytkownik

Dołączył(a): 29 lip 2014
Posty: 195
Pomógł: 44

Witam,
może zacznę od końca : zmienne globalne to zło ;-). Później sam do tego dojdziesz, tak jak i mi się udało, między innymi dzięki Koledze [b]mokrowski[/b, za co Mu serdecznie dziękuję. A teraz do meritum. Zmienne globalne, to zmienne, które nie znajdują się wewnątrz funkcji, przy czym ich nazwy obowiązują w danej jednostce translacji. Tłumacząc na nasze: jeśli masz plik: xyz.c i w nim zdefiniujesz zmienną: zmienna_zzz, to w obrębie tego pliku zmienna ta jest widoczna we wszystkich funkcjach - jest zmienną globalną. I teraz, jeśli chcesz, aby ta zmienna była widoczna w innych plikach *.c, to musisz jej deklarację umieścić w pliku xyz.h - właśnie poprzez extern zmienna_zzz, a plik xyz.h dołączasz do tago pliku, w którym chcesz z tej zmiennej skorzystać poprzez: #include xyz.h, i tyle.

Pozdrawiam, QuadMan.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 gru 2015, o 22:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 17 paź 2014
Posty: 237
Lokalizacja: Rzeszów
Pomógł: 11

Jakie to proste... ale zanim do tego doszedłem... parę razy Boga obraziłem (za co teraz serdecznie przepraszam) używając słów powszechnie uznanych za obelżywe....
Cytuj:
zmienne globalne to zło ;-). Później sam do tego dojdziesz, tak jak i mi się udało,

Będę się starał dojść :oops:
Gdzieś już takie sformułowanie widziałem.
Dziękuję wszystkim za pomoc. Będę umiał (przynajmniej tak mi się wydaje :mrgreen: ) napisać program wieloplikowy....
Może nie znam jeszcze wszystkich "niuansików" (ale od czego jest to forum), jednak wyczuwam już "główną ideę".

_________________
Mr. Nobody



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 13 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO