前言
关于DS1302我学了好几天因为想从底层库文件把他学懂,然后发现网上资料比较混杂,我也走了很多错路,现在分享给大家我的学习经历,关于DS1302的 物理层面的数据大家可以参考:点击链接
1.官方文档
官方文档可以去淘宝找,我这里文末会给出。
首先是他的物理参数:
说明:VCC 5V 2V-5.5V都可工作
下面是我自己写的库文件,后面会讲怎么制作库文件
当然也可以使用别人编写的库文件在IDE界面搜索DS1302就好了,我这个也是根据人家的更改而来。
教学视频BiliBIli上UP主 MCU起航 讲的很清楚,但是用他的程序编写一直报错,可能是语法与IDE冲突,我也不知道为啥,一度浪费了我一天时间。
#define SCL D8
#define SDA D7
#define RST D0
enum Register
{
SecondReg=0,
MinuteReg=1,
HourReg= 2,
DateReg= 3,
MonthReg=4,
DayReg= 5,
YearReg= 6,
WriteProtectReg = 7
};
class Time
{
public:
uint8_t ksecond;
uint8_t kminute;
uint8_t khour;
uint8_t kdate;
uint8_t kmonth;
uint8_t kday;
uint16_t kyear;
uint8_t kwrite;
};
void setup()
{
Serial.begin(9600);
SetTime(2020,4,24,12,27,01,5);//将时间输入SD1302
}
void loop()
{
delay(1000);
Time time2;
time2=ReadTime