I2CIN - BASIC Stamp Command Reference
Idx
VAR
WORD
Check
VAR
NIB
Result
VAR
BYTE(16)
WriteToEEPROM:
DEBUG "Writing...", CR
PAUSE 2000
FOR Idx = 0 TO 2047 STEP 16
I2COUT 0, $A0+((Idx>>8)*2), Idx, [REP Idx>>4\16] 'Write 16 bytes at once
PAUSE 5
DEBUG "Addr: ", DEC4 Idx, "-", DEC4 Idx+15, " Value: ", DEC3 Idx>>4 & $FF, CR
NEXT
PAUSE 2000
ReadFromEEPROM:
DEBUG CR, "Reading...", CR
PAUSE 2000
FOR Idx = 0 TO 2047 STEP 16
I2CIN 0, $A1+((Idx>>8)*2), Idx, [STR Result\16]
FOR Check = 0 TO 15
IF Result(Check) <> Idx>>4 & $FF THEN Error
NEXT
DEBUG "Addr: ", DEC4 Idx, "-", DEC4 Idx+15, " Value: ", DEC3 Result, CR
NEXT
PAUSE 1000
DEBUG CR, " All Locations PASSED!"
STOP
Error:
DEBUG "Error at location: ", DEC4 Idx+Check, CR
DEBUG "Found: ", DEC3 Result(Check), " Expected: ", DEC3 Idx>>4 & $FF
STOP
Page 142 • BASIC Stamp Programming Manual 2.0b • www.parallaxinc.com
'Index variable for address
'Index for checking returned values
'16-byte array for returned value
'For all 2K locations,
'For all 2K locations,
'Read 16 bytes at once
'Check all 16 for
'accuracy, stop if error
Need help?
Do you have a question about the BASIC Stamp 2e and is the answer not in the manual?