200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 树莓派PICO:DS1302时钟芯片(MicroPython)

树莓派PICO:DS1302时钟芯片(MicroPython)

时间:2020-08-19 18:43:25

相关推荐

树莓派PICO:DS1302时钟芯片(MicroPython)

准备材料

树莓派PICO(MicroPython)DS1302时钟模块0.96 OLED

![在这里插入图片描述](https://img-/4b787e6587a54df79fdfc0495ef4ce1a.jpeg#pic_center

DS1302简述

其实作为一个时钟芯片,DS1302的性能不算优异,这次写这篇文章也只是为了记录一下在MicroPython环境下编写的DS1302库文件的过程与中间的一些问题。

具体DS1302的参数和引脚等信息可以参考数据手册(文末 获取)和文章: 51单片机DS1302实时时钟

遇到问题

GPIO同时读写

首先第一个问题是芯片的DAT(I/O)引脚要同时进行读写操作,在开始的实验中,我发现GPIO在Pin.OUT模式下也可以进行读取,但是在编写程序时读取到的数据总是255(I/O引脚一直高电平),但是在这时如果单独将该引脚接入高低电平还是可以读取到内容。

为了解决这个问题,我用逻辑分析仪对I/O引脚的值进行读取,发现不论芯片I/O引脚输出什么,最终读到的都是高电平,由此才使用了另外一种方式:在每次读取过程时将GPIO重新初始化到Pin.IN模式进行读取。

芯片内部寄存器存储格式

在第一次进行读写操作成功时,我以为芯片的数据存储就是简单的十六进制存储即可,但是后来读出的格式切切实实告诉我我错了。时钟芯片考虑到时分秒与年月日各自的进位关系,对各自寄存器的存储格式也是各有不同,每个寄存器只有按照规定的格式写入,时间的增长方式才会符合预期。

最终效果

资料获取

git:/LNfromNorth/DesktopClock/tree/main/OtherPy/DS1302

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。