- עמוד זה הוא חלק מהמדריך לפונקציות ארדואינו -
הפונקציה EEPROM.put(idx, t) משמשת לכתיבת משתנים, ומבני נתונים סטטיים אחרים, בזכרון הבלתי-נדיף מסוג EEPROM שבמיקרו-בקר הראשי בלוח הארדואינו.
פרמטרים
idx, מטיפוס int, הוא הכתובת ב-EEPROM בה מתחילים הנתונים. הטווח החוקי מתחיל ב-0, וברוב לוחות הארדואינו מסתיים ב-1023 (כולל). בלוח ארדואינו Mega, הטווח הוא עד 4095 (כולל).
t הוא שם המשתנה או מבנה הנתונים ממנו יש לקרוא את המידע שייכתב ב-EEPROM.
ערך חוזר
t. כיוון שהפקודה עצמה מעתיקה את תוכן t ל-EEPROM, אין צורך להשתמש בערך החוזר הזה.
דוגמאות
#include <EEPROM.h> uint16_t x = 1234; EEPROM.put(10, x);
הערות
- כתיבה ל-EEPROM היא פעולה ממושכת – בסביבות 3.3 אלפיות השניה לכל בייט בנתונים. הפעולה מבוצעת על ידי מודול פנימי ייעודי, כך שהמיקרו-בקר מסוגל בעיקרון לבצע פעולות אחרות בזמן זה. עם זאת, כל פעולת כתיבה נוספת ל-EEPROM חייבת להמתין במשך מלוא הזמן עד לסיום הכתיבה הקודמת.
- זכרון ה-EEPROM מוגבל במספר הכתיבות לכל בייט בו – כ-100,000 כתיבות מובטחות בלבד. לכן, יש למעט ככל האפשר בכתיבה אליו.
- כדי לצמצם כתיבות ל-EEPROM למינימום ההכרחי, הפונקציה EEPROM.put אינה כותבת כל בייט אוטומטית אלא משווה אותו לבייט הקיים ב-EEPROM, וכותבת את הערך רק אם הם שונים.
- אם ערך הפרמטר idx חורג בשלב כלשהו מגבולות הזכרון הפיזי, התוכנה “מגלגלת” אותו אוטומטית לתוך הגבולות. לדוגמה, בארדואינו Uno בו כתובות ה-EEPROM האמתיות הן בין 0 ל-1023 (כולל), פניה לכתובת 1024 – או כתיבה של יותר מבייט יחיד לכתובת 1023 – תחזור בפועל לכתובת 0.
- גם אם המשתנה או מבנה הנתונים שנכתבים גדולים יותר מבייט אחד, הכתובת idx היא ביחידות של בייט.