PlatformIO+ESP32S3开发DS1302实时时钟模块
创作时间:
作者:
@小白创作中心
PlatformIO+ESP32S3开发DS1302实时时钟模块
引用
CSDN
1.
https://m.blog.csdn.net/qq_51930953/article/details/140734318
本文将详细介绍如何使用PlatformIO开发环境在ESP32S3开发板上驱动DS1302实时时钟模块。内容涵盖工程创建、驱动库安装、代码编写、硬件连接和代码验证等步骤,适合有一定基础的嵌入式开发爱好者学习参考。
1. 工程创建
在VSCode中打开PlatformIO扩展创建工程。
设置工程向导
等待创建完成。
2. 安装驱动库
创建完成之后,我们在VSCode中打开我们刚才创建的工程文件夹。
在VSCode中回到PlatformIO的主页,给工程安装DS1302的驱动库。
搜索DS1302,安装来自
Rafa Couto
的
Ds1302
库。
将库安装到我们的工程中。
打开
platformio.ini
文件,可以看到已经安装上了DS1302的驱动库。
3. 编辑代码
打开工程下的
src
文件夹下的
main.cpp
。
#include <Arduino.h>
#include <Ds1302.h>
//计时模块DS1302相关定义
#define RST 10 //ds1302的RST引脚定义
#define DATA 3 //ds1302的DATA引脚定义
#define CLK 2 //ds1302的CLK引脚定义
Ds1302 rtc(RST, CLK, DATA); //创建DS1302这个对象
void setup()
{
//初始化串口
Serial.begin(9600);
//初始化DS1302
rtc.init();
//测试时钟是否停止并设置一个日期时间来启动它
if (rtc.isHalted())
{
Serial.println("RTC is halted. Setting time...");
//创建基于DS1302库下的时间参数
Ds1302::DateTime dt = {
.year = 24,
.month = Ds1302::MONTH_JUL,
.day = 27,
.hour = 14,
.minute = 13,
.second = 0,
.dow = Ds1302::DOW_SAT
};
//将设置的时间写入DS1302模块
rtc.setDateTime(&dt);
}
else
{
Serial.println("RTC is busy.\r\n");
}
Serial.println("Time start.\r\n");
}
void loop()
{
char outputString[100]={0};
Ds1302::DateTime now;
//获取当前时间并且存储在now中
rtc.getDateTime(&now);
static uint8_t last_second = 0;
//如果秒数发生更新
if (last_second != now.second)
{
//手动更新秒数,方便下次判断
last_second = now.second;
//格式化字符串
sprintf(outputString,
"%d-%d-%d %d %d:%d:%d\r\n",
now.year+2000,
now.month,
now.day,
now.dow,
now.hour,
now.minute,
now.second );
//输出字符串
Serial.println(outputString);
}
delay(1000);
}
4. 硬件连接
这里其实我是做了电路设计的,如果你的模块上没有RST的话应该是不用连接RST引脚的。
5. 代码验证
代码编写完成之后,将ESP32S3开发板接入电脑。我当前的开发板上是CH340K的驱动,故我这里选择COM3端口。
编译并下载到开发板中。
点击打开串口监视器。
可以看到开发板可以正常的读取和设置DS1302的时间。输出正常。
6. 代码工程下载
下载地址:https://gitee.com/laoguaige/esp32-s3-r8-n8-pixel-clock/tree/master/example/ds1302
热门推荐
会籍顾问如何管理客户
中国农村婚礼习俗:从迎亲到回门的传统仪式
让壁画更好传承历史文脉 “北京地区壁画保护与合作联盟”成立
什么是 sudo,为什么它如此重要?
贷款展期与续贷:了解两者的区别及适用情况
揭秘水瓶座的星座兼容性,与其他星座的关系动态
异地买车险和本地买有什么区别吗
解码身体内的“生命密码”——血型奥秘
多样化考题:定制化提升智能阅卷系统支持的题型展现
如何识别和利用潜在需求?
物业费缴纳全攻略:从法律依据到实际操作
从DNA角度看中华民族的形成:中国的民族基本都是血脉相连的
欧洲中世纪女巫刑法小说:探索古老的魔咒与惩罚
转氨酶低是怎么回事,有什么危害
揭秘地藏王菩萨的前身之谜:历史重大发现让人震惊!
微生物测序报告中的多样性数据详细解读
一文读懂微生物检测基础知识
如何进行听课评课活动
卫生间墙面渗水反碱的5种补救方法
白杨文化:摄影零成本用光指南,光影之上的秘密
如何识别和应对抑郁情绪,重拾生活希望与快乐
美媒体选出的世界十大未解之谜
吃什么食物能增加胰岛素的功能
芳疗入门|精油是如何分类的?
低钾血症的症状与应对:从识别到预防的全面指南
布林带与肯特纳通道双雄对决:谁才是交易赢家手中的指标神器?
怎样评估一个商铺项目的投资回报率潜力?
企业变革管理的成功案例有哪些?
哪些案例展示了成功的个人与团队管理?
意大利历史文化科普:意大利是如何诞生?