Ok,
Ive got this far:
Code:
INCLUDE "modedefs.bas" ' Modes for SerOut
CMCON = 7 ' set portA to digital
TRISA = %00100000 ' Port A all output but MCLR
TRISB = %00001010 ' Port B all output but 1,3 (Si and CCP)
DEFINE DEBUGIN_REG PORTB ' Set Debug pin port
DEFINE DEBUGIN_BIT 1 ' Set Debug pin bit
DEFINE DEBUGIN_BAUD 9600 ' Set Debug baud rate
DEFINE DEBUGIN_MODE 1 ' Set Debug mode: 0 = true, 1 = inverted
DEFINE DEBUG_REG PORTB ' Set Debug pin port
DEFINE DEBUG_BIT 2 ' Set Debug pin bit
DEFINE DEBUG_BAUD 9600 ' Set Debug baud rate
DEFINE DEBUG_MODE 1 ' Set Debug mode: 0 = true, 1 = inverted
port1name var byte[8]
name1 var word
i var byte
Main: ' Display "Waiting for input" every 5 seconds if timeout period expires
DEBUGIN 5000, idle, [STR port1name\8\13]
DEBUG "Received: ",STR port1name\8,13,10
for i = 1 to 8
write i,port1name(i)
pause 10
next i
pause 100
for i = 1 to 8
read i, port1name(i)
next i
DEBUG "Read eeprom after write: ",STR port1name\8,13,10
Goto Main
idle:
DEBUG "Waiting for input",13,10
for i = 1 to 8
read i, port1name(i)
next i
DEBUG "Read from eeprom: ",STR port1name\8,13,10
goto main
Now, it receives what i enter, and saves it, and displays it fine, however once power is cycled, and it reads from the eeprom, the 1st character is incorrect:
Received: 12345678
Read eeprom after write: 12345678
Waiting for input
then power cycle
then i get this:
Waiting for input
Read from eeprom: û2345678
any hints on what i may be doing wrong?
Also all comms is serial @ 9600, there is no LCD, therefore the LCDout command cant be used....
Bookmarks