中级会员
 
- 积分
- 446
- 金钱
- 446
- 注册时间
- 2019-7-19
- 在线时间
- 57 小时
|
1金钱
最近在调试DS1302 在网上找到驱动代码后,跑原子历程。虽然能输出时间显示等, 但不太明白这个是怎么配置出来的?有大佬来指导
//IO方向
#define DS1302_IO_IN() {GPIOC->CRL&=0XFFFFFFF0;GPIOC->CRL|=8<<0;} // DAT_MODE_IN() //
#define DS1302_IO_OUT() {GPIOC->CRL&=0XFFFFFFF0;GPIOC->CRL|=3<<0;} //DAT_MODE_OUT() //
自己的理解
---------------------------------------------------------------------------------------------------------------------
1 注意需要配置
说明 这里是寄存器配置 所以以下给的数据 是根据实际物理连线来的 链接不同IO配置值不同
PC0 DS_SIO
PC1 DS_CE
PC2 DS_SCK
//IO方向
#define DS1302_IO_IN() {GPIOC->CRL&=0XFFFFFFF0;GPIOC->CRL|=8<<0;} // DAT_MODE_IN()
#define DS1302_IO_OUT() {GPIOC->CRL&=0XFFFFFFF0;GPIOC->CRL|=3<<0;} //DAT_MODE_OUT() //
2 在硬件连接方面注意 晶振是否为32.678k 在这卡了好几天
最后经示波器测量 是晶振不起震
-----------------------------------------------------------------------------------------------------------------------
另外有关 晶振的知识是在网上查到的 请参考以下
DS1302不走时的原因粗略分析
https://www.amobbs.com/thread-5588472-1-1.html
(出处: amoBBS 阿莫电子论坛)
|
|