1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
#include <EEPROM.h> void eepromWriteInt(int adr, int wert) { byte low, high; low=wert&amp;amp;amp;amp;0xFF; high=(wert&amp;amp;amp;gt;&amp;amp;amp;gt;8)&amp;amp;amp;amp;0xFF; EEPROM.write(adr, low); EEPROM.write(adr+1, high); } int eepromReadInt(int adr) { byte low, high; low=EEPROM.read(adr); high=EEPROM.read(adr+1); return low + ((high &amp;amp;amp;lt;&amp;amp;amp;lt; 8)&amp;amp;amp;amp;0xFF00); } int eepromReadDouble(int adr) { byte low, high; low=EEPROM.read(adr); high=EEPROM.read(adr+1); return low + ((high &amp;amp;amp;lt;&amp;amp;amp;lt; 8)&amp;amp;amp;amp;0xFF00); } void eepromWriteDouble(int adr, double wert) { byte low, high; low=wert&amp;amp;amp;amp;0xFF; high=(wert&amp;amp;amp;gt;&amp;amp;amp;gt;8)&amp;amp;amp;amp;0xFF; EEPROM.write(adr, low); EEPROM.write(adr+1, high); } // Fuer die Ausgabe auf Serial- oder Telnet-Interface char s[4000]; // Geht eigentlich in der Größe nur mit ESp8266 Modul void showEEPROM_v1(int adrFrom, int adrTo) { // Augabe in einem einzigen String memset(s,0,sizeof(s)); char ss[17]; uint8_t c; sprintf(s,"%s\n EEPROM ",s); for(int i=0;i<16;i++) sprintf(s,"%s%02d ",s, i); sprintf(s,"%s\n ------ ",s); for (int i=0;i<16;i++) sprintf(s,"%s-- ",s); sprintf(s, "%s ----------------",s); for (int adr=adrFrom; adr&amp;lt;adrTo; ){ sprintf(s,"%s\n %04x : ",s,adr); for (int p=0; p&amp;lt;16; p++) { //EEPROM.begin(512); c = EEPROM.read(adr++); //EEPROM.end(); sprintf(s,"%s%02x ",s,c); ss[p] = (c<=32 && c<127) ? c : '.'; } ss[16]=0x00; sprintf(s,"%s %s ",s,ss); } sprintf(s,"%s\n",s); if (Serial.available()) Serial.print(s); } void showEEPROM_v2(int adrFrom, int adrTo) { // Augabe in einem einzigen String char s[60]; char ss[17]; uint8_t c; sprintf(s,"\n EEPROM "); Serial.print(s); for (int i=0; i&amp;lt;16; i++) { sprintf(s,"%02d ", i); Serial.print(s); } sprintf(s, "\n ------ "); Serial.print(s); for (int i=0; i&amp;lt;16; i++) { sprintf(s,"-- "); Serial.print(s); } sprintf(s, " ----------------"); Serial.print(s); for (int adr=adrFrom; adr&amp;lt;adrTo; ) { sprintf(s,"\n %04x : ",adr); Serial.print(s); for (int p=0; p<16; p++) { //EEPROM.begin(512); c = EEPROM.read(adr++); //EEPROM.end(); sprintf(s,"%02x ",c); Serial.print(s); ss[p] = (c>=32 &amp;amp;&amp;amp; c&amp;lt;127) ? c : '.'; } ss[16]=0x00; sprintf(s," %s ",ss); Serial.print(s); } sprintf(s,"\n"); Serial.print(s); } [/code] |