Writing to RTC CY14C064I

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

 Dear Sir,

   

I am presently using RTC/EEPROM CY14C064I of cypress with PSoc 5. I am sucessfully able to read RTC but I am having problem with writing on RTC . I have attached my code below. Please help me with the solution

0 Likes
1 Solution
ShivendraSingh
Employee
Employee
25 solutions authored 50 replies posted 10 solutions authored

Hi Habibi,

   

Sorry, please ignore the previous post as it was with respect to SPI RTC part. Since you are using the I2C, you should follow the folowing sequence.

   

 1. Write 0x02 to RTC register 0x00. - This will set the 'w' bit

   

2. Write 3 bytes to RTC registers 0x09-0x0B. (Sec, Min, HR) - This will set a new base time     

   

3. Write 0x00 to RTC register 0x00. This will clear 'w' bit

   

4. Read time from RTC registers and verify.  This should read now new time.

   

5. For calendar setting (dd, mm, yy century....) you can set the respcetive registers (0x0C - 0x0F, 0x01) accordingly.

   

 

   

Please let me know if this helps to resolve your query.

   

Thanks,

   

Shivendra

   

     

View solution in original post

0 Likes
2 Replies
ShivendraSingh
Employee
Employee
25 solutions authored 50 replies posted 10 solutions authored

 Hello Habibi,

   

I couldn't find the code in your post. You can run the following sequence to write into RTC register. 

   

1. Set WEN=1 by sending WREN command     

   

2. Write 0x02 to RTC register 0x00.     

   

3. Set WEN=1 by sending WREN command     

   

4. Write to RTC time registers 0x09-0x0B (Sec, Min, HR). This is called the base time.     

   

5. Set WEN=1 by sending WREN command     

   

6. Write 1 byte to RTC register 0x01.     

   

7. Set WEN=1 by sending WREN command     

   

8. Write 0x00 to RTC register 0x00.

   

9. Read and verify time reading from RTC register. It should read the correct time now.

   

Thanks,

   

Shivendra 

   

Cypress Semiconductor

   

     

0 Likes
ShivendraSingh
Employee
Employee
25 solutions authored 50 replies posted 10 solutions authored

Hi Habibi,

   

Sorry, please ignore the previous post as it was with respect to SPI RTC part. Since you are using the I2C, you should follow the folowing sequence.

   

 1. Write 0x02 to RTC register 0x00. - This will set the 'w' bit

   

2. Write 3 bytes to RTC registers 0x09-0x0B. (Sec, Min, HR) - This will set a new base time     

   

3. Write 0x00 to RTC register 0x00. This will clear 'w' bit

   

4. Read time from RTC registers and verify.  This should read now new time.

   

5. For calendar setting (dd, mm, yy century....) you can set the respcetive registers (0x0C - 0x0F, 0x01) accordingly.

   

 

   

Please let me know if this helps to resolve your query.

   

Thanks,

   

Shivendra

   

     

0 Likes