DS1302 写入数据 代码讲解
时间: 2023-09-23 09:02:29 浏览: 138
以下是 DS1302 写入数据的代码讲解:
```arduino
#include <DS1302.h>
const int ds1302_clk_pin = 2;
const int ds1302_dat_pin = 3;
const int ds1302_rst_pin = 4;
DS1302 rtc(ds1302_clk_pin, ds1302_dat_pin, ds1302_rst_pin);
void setup() {
rtc.halt(false); // 启动 DS1302
rtc.writeProtect(false); // 取消写保护
}
void loop() {
// 写入时间
rtc.write(DS1302_SEC, 0); // 秒
rtc.write(DS1302_MIN, 30); // 分钟
rtc.write(DS1302_HOUR, 10); // 小时
rtc.write(DS1302_DATE, 12); // 日期
rtc.write(DS1302_MONTH, 7); // 月份
rtc.write(DS1302_DAY, 3); // 星期
rtc.write(DS1302_YEAR, 21); // 年份
delay(1000); // 延时 1 秒
}
```
代码中首先定义了 DS1302 的 CLK、DAT、RST 引脚号,然后创建了 DS1302 对象 rtc。
在 setup 函数中,启动 DS1302 并取消写保护。
在 loop 函数中,调用 rtc.write 函数向 DS1302 写入时间,其中第一个参数为要写入的寄存器地址,第二个参数为要写入的数据。需要注意的是,写入时间时需要先写入秒,再写入分钟、小时、日期、月份、星期和年份,否则可能会出现问题。
最后延时 1 秒,等待下一次写入。
阅读全文