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



Teraz jest 17 sie 2025, o 09:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 23 kwi 2014, o 15:25 
Offline
Użytkownik

Dołączył(a): 05 gru 2013
Posty: 246
Pomógł: 0

W jednym ze swoich projektów wykorzystuję bibliotekę do obsługi komend, dołączoną do zielonej książki.
Projekt na ukończeniu, przed chwilą wszystko działało. Wprowadzałem pewne poprawki do kodu, przy czym zdecydowana większość dotyczyła zupełnie innego pliku źródłowego. W kodzie odpowiedzialnym za obsługę komend zmieniłem zaledwie kilka linijek w pewnej procedurze.
Próbuję skompilować i niespodzianka... Atmel Studio sypie błędami i warningami, ale nie tam, gdzie coś zmieniałem. Czepia się fragmentu, który jeszcze chwilę temu nie sprawiał żadnych problemów problemów.

Błędy wyglądają następująco:

Kod:
Error   1   parameter 'polecenia_at' is initialized   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   21   1   main
Warning   2   '__progmem__' attribute ignored [-Wattributes]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   21   1   main
Warning   3   braces around scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   23   3   main
Warning   4   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   23   3   main
Warning   5   initialization from incompatible pointer type [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   23   3   main
Warning   6   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   23   3   main
Warning   7   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   23   3   main
Warning   8   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   23   3   main
Warning   9   braces around scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   10   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   11   initialization from incompatible pointer type [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   12   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   13   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   14   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   15   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   16   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   24   3   main
Warning   17   braces around scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   18   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   19   initialization from incompatible pointer type [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   20   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   21   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   22   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   23   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   24   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   25   3   main
Warning   25   braces around scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   26   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   27   initialization from incompatible pointer type [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   28   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   29   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   30   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   31   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   32   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   26   3   main
Warning   33   braces around scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Warning   34   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Warning   35   initialization from incompatible pointer type [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Warning   36   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Warning   37   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Warning   38   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Warning   39   excess elements in scalar initializer [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Warning   40   (near initialization for 'polecenia_at') [enabled by default]   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   27   3   main
Error   41   expected '=', ',', ';', 'asm' or '__attribute__' before '{' token   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   34   1   main
Error   42   expected '=', ',', ';', 'asm' or '__attribute__' before '{' token   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   102   65   main
Error   43   expected '=', ',', ';', 'asm' or '__attribute__' before '{' token   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   110   66   main
Error   44   expected '=', ',', ';', 'asm' or '__attribute__' before '{' token   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   118   66   main
Error   45   expected '=', ',', ';', 'asm' or '__attribute__' before '{' token   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   136   67   main
Error   46   expected '=', ',', ';', 'asm' or '__attribute__' before '{' token   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   149   67   main
Error   47   old-style parameter declarations in prototyped function definition   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\BMP085\bmp085.h   60   6   main
Error   48   expected '{' at end of input   D:\Dokumenty\Atmel Studio\6.1\EtherGeiger_\main\AT\komendy_at.c   159   1   main



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


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



NIE UMIESZCZAMY NA FORUM CAŁYCH BIBLIOTEK Z KSIĄŻEK ANI ICH FRAGMENTÓW - Sonix

Ktoś mi powie co może być nie tak? Sytuacja mnie zaskoczyła i nie mam zielonego pojęcia co zrobić z tą sytuacją...
Czy coś przez przypadek zmieniłem? Jeśli tak, to co?
W przypływie desperacji spróbowałem nawet poprzenosić poszczególne pliki źródłowe do nowego projektu. Nie pomogło...

UPDATE:
Właśnie zauważyłem, że jeśli tylko umieszczę całą treść biblioteki komendy_AT w komentarzu, to taki sam zestaw błędów pojawia się w następnej bibliotece.
Występuje jedna prawidłowość - czepia się do zmiennych extern...

UPDATE2:

Wychodzi jednak na to, że dodane biblioteki coś psują w kodzie. Po ich odkomentowaniu wszystko się kompiluje.
Poniżej treść kłopotliwych plików:

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


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


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


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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 kwi 2014, o 17:37 
Offline
Użytkownik

Dołączył(a): 10 paź 2012
Posty: 123
Pomógł: 10

Witam.
Generalnie przy takich objawach jak zmieniałeś w innym miejscu a błędy wywala Ci gdzie indziej to zazwyczaj oznacza, że albo gdzieś masz za dużo/ za mało o klamrę (nie domykasz funkcji itd) lub np. zgubiłeś średnik w pliku z deklaracjami funkcji. ja tylko zauważyłem, że w pliku bmp085.h w linii 60 na końcu nie masz średnika ale być może w innych w których też coś zmieniałeś jest podobny problem.
Atlantis napisał(a):

int32_t bmp085GetPressure(uint32_t up);
void BMP085_Calibration(int16_t BMP085_calibration_int16_t[],int16_t BMP085_calibration_uint16_t[], uint8_t* errorcode)

#endif

GeSHi


Pozdrawiam
Jarek



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: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 8 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