linux下实时时钟芯片(RTC)的读写

硬件

由于项目的需要在ARM嵌入式板子上挂上了一颗EPSON的RX8010实时时钟芯片,为数据采集提供可靠的时间。RX8010内置了具有温补的晶振,可以简化设计,而且也不贵,所以就选择了它。其实选择其它使用I2C的芯片在软件上来说问题都不大,只要Linux内置了该芯片的驱动。目前Linux已经支持了绝大多数的RTC芯片了。

电路图如下图所示。其中通过一个BAT54C来完成电池和DC电源供电之间的切换。在设计的第一板中出现了严重的低级错误,那就是没有给I2C总线加上上拉电阻。这个源自于对ARM芯片GPIO的误解,以为内置了上拉电阻。所以导致在调试时作为普通GPIO使用时能够测到有波形输出,而作为I2C使用时没有信号。一度怀疑是不是Linux下的I2C驱动有问题。最后终于想到了上拉电阻的问题,手动焊上两个电阻后果然就好使了。
在这里插入图片描述

软件

芯片检测

在linux下,可以查看到I2C接口设备信息:

root@MyBoard:/dev# ls
...
gpiochip0        mmcblk0p2         sequencer           tty3    tty59  vhci
gpiochip1        mmcblk0p3         sequencer2          tty30   tty6   watchdog
i2c-0 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值