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



Teraz jest 26 lis 2024, o 19:47


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
Autor Wiadomość
PostNapisane: 17 gru 2014, o 12:53 
Offline
Użytkownik

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

Pracuję obecnie nad portem biblioteki Arduino Ethernet na standardowe AVR-y. To znaczy nie sprowadzam wszystkiego do "czystego" C, ale z kodu w C++ powyrzucałem wszystkie nawiązania do "rdzennych" bibliotek Arduino (wiring, printable itp.).
Na chwilę obecną cały kod się kompiluje, teraz przystąpię do jego testów. Mam nadzieję, że nie wyrzuciłem niczego o krytycznym znaczeniu dla działania całości. ;)

W trakcie analizowania oryginalnego kodu w oczy rzuciła mi się jedna rzecz - całkowity brak funkcji odpowiedzialnych za "zmienne" przechowywane w pamięci flash. Jaki jest tego powód? Mi do głowy przychodzą następujące możliwości:
1) Czyżby twórcy środowiska Arduino/biblioteki Ethernet sobie odpuścili i pozostawili użytkownika z łańcuchami tekstowymi ładowanymi bezpośrednio z pamięci RAM? Jakoś nie chce mi się w to wierzyć...
2) Czyżby Arduino miało w sobie jakiś zaszyty mechanizm, który automatycznie rozpoznaje "zmienną" w pamięci flash, niwelując konieczność stosowania pgm_read_byte()?
3) A może taki mechanizm jest cechą samego języka C++ i moje zaskoczenie wynika z przyzwyczajeń wyniesionych z C?

Innymi słowy: powinienem pododawać własne funkcje z "_P" na końcu? ;)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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


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