Code:
DEFINE OSC 8
INCLUDE "modedefs.bas"
@ DEVICE INTRC_OSC
@ DEVICE MCLR_OFF
@ DEVICE PROTECT_OFF
@ DEVICE CPD_OFF
@ DEVICE LVP_OFF
@ DEVICE BOD_OFF
@ DEVICE PWRT_OFF
@ DEVICE WDT_OFF
DEFINE DEBUG_REG PORTB
DEFINE DEBUG_BIT 7
DEFINE DEBUG_BAUD 9600
DEFINE DEBUG_MODE 1
osccon=$7e:cmcon=7:adcon1=$80:ansel=1:adcon0=$c1:porta=0:portb=0:trisa=1
trisb=7:sda var portb.0:scl var portb.1:addr var word:dat var byte
dat2 var byte:ctw con $a0
start: dat=dat+1:addr=addr+1
i2cwrite sda,scl,ctw,addr.highbyte,addr.lowbyte,[dat]:pause 10
debug "Wrote: ",dec addr," with ",dec dat,13,10
i2cread sda,scl,ctw,addr.highbyte,addr.lowbyte,[dat2]
debug " Read: ",dec addr," val: ",dec dat2 , 13 , 10
if dat = dat2 then
debug "Write/Read Successful at ",dec5 addr," with ",dec3 dat,13,10
else
debug "Write/Read Error at ",dec5 addr,"-Wrote:",dec3 dat," - Read:",dec dat2,13,10
endif
pause 500:goto start
END
OR un-COLONized...
Code:
DEFINE OSC 8
INCLUDE "modedefs.bas"
@ DEVICE INTRC_OSC
@ DEVICE MCLR_OFF
@ DEVICE PROTECT_OFF
@ DEVICE CPD_OFF
@ DEVICE LVP_OFF
@ DEVICE BOD_OFF
@ DEVICE PWRT_OFF
@ DEVICE WDT_OFF
DEFINE DEBUG_REG PORTB
DEFINE DEBUG_BIT 7
DEFINE DEBUG_BAUD 9600
DEFINE DEBUG_MODE 1
osccon = $7e
cmcon = 7
adcon1 = $80
ansel = 1
adcon0 = $c1
porta = 0
portb = 0
trisa = 1
trisb = 7
sda var portb.0
scl var portb.1
addr var word
dat var byte
dat2 var byte
ctw con $a0
start:
dat = dat + 1
addr = addr + 1
i2cwrite sda , scl , ctw , addr.highbyte , addr.lowbyte , [ dat ]
pause 10
debug "Wrote: " , dec5 addr , " with " , dec3 dat , 13 , 10
i2cread sda , scl , ctw , addr.highbyte , addr.lowbyte , [ dat2 ]
debug " Read: " , dec5 addr , " val: " , dec3 dat2 , 13 , 10
if dat = dat2 then
debug "Write/Read Successful at " , dec5 addr , " with " , dec3 dat , 13 , 10
else
debug "Write/Read Error at " , dec5 addr , "-Wrote:" , dec3 dat , " - Read:" , dec dat2 , 13 , 10
endif
pause 500
goto start
END
Bookmarks