时间终于同步,存储成功
This commit is contained in:
@@ -121,12 +121,12 @@ static int sd2506_read_regs(uint8_t reg, uint8_t *p_data, uint8_t len) {
|
||||
static int sd2506_write_enable(void) {
|
||||
int ret = 0;
|
||||
|
||||
/* 先置 WRTC1=1 (bit6=1), 其它位参考手册0x84 */
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR1, 0x84U);
|
||||
/* 写允许顺序(SD2506/SD24xx 手册要求):先置 WRTC1(CTR2 bit7)=1,
|
||||
* 再置 WRTC2(CTR1 bit2) + WRTC3(CTR1 bit7)=1。顺序反了芯片不会解开写保护。 */
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR2, 0x80U);
|
||||
if (ret != SD2506_OK) return ret;
|
||||
|
||||
/* 再置 WRTC2=1(bit5) + WRTC3=1(bit4): 0x8C */
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR2, 0x8CU);
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR1, 0x84U);
|
||||
if (ret != SD2506_OK) return ret;
|
||||
|
||||
return SD2506_OK;
|
||||
@@ -142,12 +142,11 @@ static int sd2506_write_enable(void) {
|
||||
static int sd2506_write_disable(void) {
|
||||
int ret = 0;
|
||||
|
||||
/* 先清 WRTC2=0, WRTC3=0: 0x00 */
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR2, 0x00U);
|
||||
/* 写禁止顺序(手册要求):先清 WRTC2/WRTC3(CTR1),再清 WRTC1(CTR2) */
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR1, 0x00U);
|
||||
if (ret != SD2506_OK) return ret;
|
||||
|
||||
/* 再清 WRTC1=0, 同时 ARST=1 使能自动复位: 0x20 */
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR1, SD2506_CTR1_WRITE_OFF);
|
||||
ret = sd2506_write_reg(SD2506_REG_CTR2, 0x00U);
|
||||
if (ret != SD2506_OK) return ret;
|
||||
|
||||
return SD2506_OK;
|
||||
|
||||
Reference in New Issue
Block a user