Siedząc sobie dzisiaj i nudząc się postanowiłem postawić od nowa Eclipsa wgrać Atmelowski toolchain, udało się bez problemu.
Zaimportowałem projekty z pierwszej książki i tak dla zabawy skompilowałem sobie jeden projekt ( padło na 1wire ).
I co ? i pokazał się warning którego wcześniej nie było.
Sprawa się rozchodzi o funkcje lcd_str_P i jej użycie ( przynajmniej tak mi się wydaje )
lcd_str_P(PSTR(" T1 T2")); /* wyświetl napisy w zerowej linii LCD */
Oto warning:
../main.c: In function 'main':
../main.c:70:2: warning: passing argument 1 of 'lcd_str_P' discards 'const' qualifier from pointer target type [enabled by default]
../LCD/lcd44780.h:172:6: note: expected 'char *' but argument is of type 'const char *'
'Finished building: ../main.c'
Ponieważ zaciekawiło mnie to zacząłem kompilować pozostałe projekty, i wszędzie tam gdzie używamy odwołania do pamięci programu złośnik się czepia o "const"
Mam nadzieję że w miarę czytelnie to opisałem.
A teraz pytanie:
Dlaczego tak się dzieje ?
------------------------ [ Dodano po: 8 minutach ]Haaa
![Bardzo szczęśliwy :D](https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif)
już wiem w tym przypadku winna jest funkcja PSTR