Wpis z mikrobloga

Staram się skumać #arduino PROGMEM – pytanie czy dobrze rozumuję…

Jak to jest, że napisy z PSTR() działają pod #esp8266 z normalnymi funkcjami napisowymi? Jak czytam tutoriale, to w teorii powinienem używać dedykowanych funkcji z końcówką _P.

Czy to dlatego, że ESP8266 NIE jest zbudowany na architekturze harwardzkiej, a więc jest wspólna pula adresowa dla zmiennych trzymanych w RAMie i FLASHu?

Czyli wnioskuję, że w takim razie pod esp8266 makro F() jest zbędne? Tzn tylko dla kompatybilności z innymi czipami można je używać, ale co do zasady na esp8266 samo PSTR() styka?

#programowanie #mikrokontrolery
  • 2
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
@MacDada: PROGMEM jest głównie przydatny na AVR z uwagi na ograniczony RAM.
Na ESP8266 nie ma takiego problemu. Ewentualnie w przypadku większych plików często używa się SPIFFS (np. dla serwerów HTTP).
  • Odpowiedz
PROGMEM jest głównie przydatny na AVR z uwagi na ograniczony RAM.


@RicoElectrico: nom, to wiem

Na ESP8266 nie ma takiego problemu


Pfff, zaczęło mnie to interesować, bo właśnie zjadłem cały RAM :P Trochę HTMLa, jakieś JSy, CSSy i już jedna strona zjada RAM.

Zrobiłem w końcu tak, że podzieliłem JSy na mniejsze „pliki” i serwuję je jako oddziele zasoby, tak jak w sumie pan bug przykazał. A HTMLa jak najmniej.

No
  • Odpowiedz