# RX8025_driver **Repository Path**: ischen-x/rx8025_driver ## Basic Information - **Project Name**: RX8025_driver - **Description**: RX8025 RTC 时钟芯片驱动 平台相关代码只有两行 - **Primary Language**: C - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2024-06-11 - **Last Updated**: 2024-09-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: RTC, RX8025 ## README # RX8025_driver [gitee地址](https://gitee.com/ischen-x/rx8025_driver) 使用记得点小心心哦 #### 介绍 RX8025 RTC 时钟芯片驱动 平台相关代码只有两行 #### 使用说明 1. 实现static int rx8025_i2c_mem_write(uint8_t reg_addr, uint8_t *data, uint8_t length)和static int rx8025_i2c_mem_read(uint8_t reg_addr, uint8_t *data, uint8_t length)函数。 这里使用软件I2C。 ```c /** * @description: rx8025 IIC通讯接口,写操作 * @param {uint8_t} reg_addr 目标寄存器地址 * @param {uint8_t} *data 数据存储地址 * @param {uint8_t} length 读取数据长度 * @return {int} */ static int rx8025_i2c_mem_write(uint8_t reg_addr, uint8_t *data, uint8_t length) { return sw_i2c_mem_write(&i2c_interface, RX8025_IIC_ADDR, reg_addr, data, length); } /** * @description: rx8025 IIC通讯接口,读操作 * @param {uint8_t} reg_addr 目标寄存器地址 * @param {uint8_t} *data 数据存储地址 * @param {uint8_t} length 读取数据长度 * @return {int} */ static int rx8025_i2c_mem_read(uint8_t reg_addr, uint8_t *data, uint8_t length) { return sw_i2c_mem_read(&i2c_interface, RX8025_IIC_ADDR, reg_addr, data, length); } ``` 3. 使用int rx8025_set_time(struct tm *time_struct);函数设置时间。 ```c #inclulde struct tm test_time = { .tm_sec = 55, .tm_min = 59, .tm_hour = 23, .tm_mday = 31, .tm_mon = 12 - 1, .tm_wday = 0, .tm_year = 2099 - 1900 }; at_rtc_set_time(&test_time); ``` 5. 使用int rx8025_get_time(struct tm *time_struct);获取时间。 ```c struct tm test_read_time = {0}; at_rtc_get_time(&test_read_time); ``` 6.打印时间 ```c time_t time_sec; time_sec = mktime(&test_read_time); printf("%s\r\n", ctime(&time_sec)); //或者 char buff[50] = {0}; strftime(buff, 80, "%Y-%m-%d %H:%M:%S", &test_read_time); printf("%s\r\n", buff); ```