Hello, I am having errors while compiling my code for reading and writing on EEPROM with my 12C671.
I tried using read, write, I2CREAD etc but there are errors always.
Can someone please guide me as to what I could do?
Thanks
Hello, I am having errors while compiling my code for reading and writing on EEPROM with my 12C671.
I tried using read, write, I2CREAD etc but there are errors always.
Can someone please guide me as to what I could do?
Thanks
___________________
WHY things get boring when they work just fine?
Hi,
You can find on firsts pages of the manual, $ MCU Specific issues : " ... those chips have I2C interfaced EEPROMS so, you have to use I2CRead and I2CWrite ... "
you'll find further infos either in the Pic Datasheet and in respective commands pages of PBP Manual.
Alain
PS: Will you show some code ???
Last edited by Acetronics2; - 27th February 2010 at 13:07.
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
I did tried to do as per the manual, but seems to be missing something:
This is what I did:
Can you please add one example to read and one to write?Code:DEFINE I2C_INTERNAL 1 EEPROM 0,[0,0,0,0] read 0,gpio.0 read 1,gpio.1 read 2,gpio.4 read 4,gpio.5 Also tried the above 4 statements using 12CREAD but :(
I went through the manual but it does not have an example on how to write statements for INTERNAL EEPROM.
___________________
WHY things get boring when they work just fine?
Straight from the SAMPLES folder of your compiler ...
also available @ Melabs site in the support section ...Code:' I2CREAD and I2WRITE Commands ' ' Write to the first 16 locations of internal I2C EEPROM ' Read first 16 locations back and send to serial out repeatedly ' Note: for PIC12CE67x MCU's Include "modedefs.bas" ' Include serial modes Define I2C_INTERNAL 1 ADCON1 = 7 ' Set ADC pins to digital operation SO con 1 ' Define serial output pin DPIN var GPIO.6 ' Data line to internal EEPROM CPIN var GPIO.7 ' Clock line to internal EEPROM B0 var byte B1 var byte B2 var byte For B0 = 0 To 15 ' Loop 16 times I2CWRITE DPIN,CPIN,$A0,B0,[B0] ' Write each location's address to itself Pause 10 ' Delay 10ms after each write Next B0 mainloop: For B0 = 0 To 15 step 2 ' Loop 8 times I2CREAD DPIN,CPIN,$A0,B0,[B1,B2] ' Read 2 locations in a row Serout SO,N2400,[#B1," ",#B2," "] ' Print 2 locations Next B0 Serout SO,N2400,[10] ' Print linefeed Goto mainloop
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Perfect, thank you so much. Hopefully it should solve my problem.
Will this read write operation be affected by DT-Interrupts in any way as they are also running in my code?
Thanks again
___________________
WHY things get boring when they work just fine?
my point of view is to disable interrupts before writing to EEPROM and re-enable after.
For DT Ints ... I do not remember exactly if there's a trick to do that automatically ... I think yes ( something like "DEFINE EEPROM_USED 1" ... may be ), but you'd much better verify on the relevant thread.
Alain
************************************************** ***********************
Why insist on using 32 Bits when you're not even able to deal with the first 8 ones ??? ehhhhhh ...
************************************************** ***********************
IF there is the word "Problem" in your question ...
certainly the answer is " RTFM " or " RTFDataSheet " !!!
*****************************************
Bookmarks