A help with Write/Read a I2C memory


Closed Thread
Results 1 to 26 of 26

Hybrid View

  1. #1
    Join Date
    Mar 2008
    Location
    Texas, USA
    Posts
    114


    Did you find this post helpful? Yes | No

    Default

    Instead of "TEXT1", use [#T,#E,#X,#T,#1...etc]

    Don't overwrite your buffer.
    No, I'm not Superman, but I did stay at a Holiday Inn Express last night!

  2. #2
    Join Date
    Nov 2007
    Posts
    60


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by JD123 View Post
    Instead of "TEXT1", use [#T,#E,#X,#T,#1...etc]

    Don't overwrite your buffer.
    Do not work .

    "I2cwrite SDA, SCL,$A0,I,[#T,#E,#X,#T,# ]" = "bad expression "

    Thanks !

  3. #3
    Join Date
    Mar 2008
    Location
    Texas, USA
    Posts
    114


    Did you find this post helpful? Yes | No

    Default

    Oops, my bad... that's for serial stuff.

    Try:

    text var byte[5]
    test[4] = "T"
    test[3] = "E"
    test[2] = "X"
    test[1] = "T"
    test[0] = "1"

    I2cwrite SDA, SCL,$A0,I,[char test\5, {your other data to send} ]

    I don't know if the array is sent out lowest ([0]) or highest ([4]) first. Reverse array asignments if it comes out backwards.
    Last edited by JD123; - 27th March 2008 at 19:23.
    No, I'm not Superman, but I did stay at a Holiday Inn Express last night!

  4. #4
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    I2cwrite SDA, SCL,$A0,I,[ "T" , "E" , "X" , "T" , "1" ].....
    should also work. (not 100% sure, haven't tried myself, but it should work)

    What you originally had was an embedded string, which PBP doesn't natively handle. ( "TEXT1" ). A byte array of characters as noted in the post preceeding can be used as a string, but is not really a 'string' as far as PBP is concerned.

  5. #5
    Join Date
    Nov 2007
    Posts
    60


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by skimask View Post
    I2cwrite SDA, SCL,$A0,I,[ "T" , "E" , "X" , "T" , "1" ].....
    should also work. (not 100% sure, haven't tried myself, but it should work)

    What you originally had was an embedded string, which PBP doesn't natively handle. ( "TEXT1" ). A byte array of characters as noted in the post preceeding can be used as a string, but is not really a 'string' as far as PBP is concerned.
    I have tried again , and in other kinds , and do not work .

  6. #6
    skimask's Avatar
    skimask Guest


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Eugeniu View Post
    I have tried again , and in other kinds , and do not work .
    Well, that code isn't going to work in a loop like that. Why would it?
    Get rid of the loop on the write.

  7. #7
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default

    Hi, something like the following will work.
    Code:
            EEP1    con %10100000 ' First EEPROM A<2:0>=Gnd
            
            Addr    var word
            ByteA   var byte
            ByteB   var byte
            
            PAUSE 50
         
                addr=0
                BYTEA="A"
                byteb="B"
                I2CWRITE SDA,SCL,EEP1,ADDR,[bYTEA," TEXT1",BYTEB," TEXT2"]
                PAUSE 10
                
           FOR ADDR=0 TO 13
                I2Cread SDA,SCL,EEP1,ADDR,[bYTEA]     
                hserout [BYTEA]
                next
        
            @ GOTO $
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  8. #8
    Join Date
    Nov 2007
    Posts
    60


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by skimask View Post
    Well, that code isn't going to work in a loop like that. Why would it?
    Get rid of the loop on the write.
    Write code lines please , what have you in your mind .

    Corect my lines .

    Thank you !

  9. #9
    Join Date
    Nov 2007
    Posts
    60


    Did you find this post helpful? Yes | No

    Default

    [QUOTE=skimask;53213]I2cwrite SDA, SCL,$A0,I,[ "T" , "E" , "X" , "T" , "1" ].....
    should also work. (not 100% sure, haven't tried myself, but it should work)

    What you originally had was an embedded string, which PBP doesn't natively handle. ( "TEXT1" ). A byte array of characters as noted in the post preceeding can be used as a string, but is not really a 'string' as far as PBP is concerned.[/QUOTE

    I used this and not work .Read and display step by step only " T " ,first karakter .

    ........................................
    test var byte[5]
    test[4] = "T"
    test[3] = "E"
    test[2] = "X"
    test[1] = "T"
    test[0] = "1"

    ADCON1 = 7
    TRISB = 0
    TRISC = 0

    start:


    DISABLE INTERRUPT
    scriere:

    FOR i = 1 TO 20
    I2cwrite SDA, SCL,$A0,I,["T","E","S","T","1"]
    pause 30
    NEXT i
    ........................................
    Last edited by Eugeniu; - 27th March 2008 at 20:48.

Similar Threads

  1. I2C Master/Slave 16F88/16F767 working code
    By DanPBP in forum Code Examples
    Replies: 2
    Last Post: - 23rd October 2012, 22:31
  2. HARDWARE I2C SAMPLE CODE question
    By Michael Wakileh in forum Code Examples
    Replies: 2
    Last Post: - 16th June 2009, 21:07
  3. I2C Master Slave issues.
    By cpayne in forum mel PIC BASIC Pro
    Replies: 9
    Last Post: - 29th March 2008, 19:33
  4. Please help with i2cslave i2c slave
    By cycle_girl in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 1st December 2005, 13:55
  5. I need help with i2c memory
    By -c3- in forum mel PIC BASIC Pro
    Replies: 17
    Last Post: - 23rd June 2005, 19:57

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts