stm8及DS1302的一些操作

最近想看下DS1302内部RAM掉电后的状态,会是默认的全0x00么?

       首先查阅网上的资料和芯片相关手册,并没有对它的介绍,DS1302是块很普通的时钟芯片,之前用别的单片机也操作过,但从来没有留意这点。决定操作下1302,看下RAM究竟是什么状态。

        手头别的什么单片机都没有,就有块上次代理商留下的stm8L15X系列单片机demo板。那就用这块单片机试下吧。

         首先配置系统时钟,在stm8的库文件(STM8S_StdPeriph_Lib_V2.1.0)里有相关的函数获取相关时钟状态,如下:

  SysClkFreq =  CLK_GetClockFreq();
  SysClkSource = CLK_GetSYSCLKSource();

从返回值可以看出,芯片默认时钟为内部HSI,2MHz。


重新设置成16M,内部时钟:

 /*set system clock*/
  CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);
  CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);


之后是DS1302的相关函数,DS1302.h文件如下:

#ifndef DS1302_H
#define DS1302_H

//DS1302相关PIN
#define DS1302_PORT       GPIOC
#define DS1302_PORT_RST   GPIOE

#define DS1302_RST_PIN  GPIO_Pin_7
#define DS1302_IO_PIN   GPIO_Pin_0
#define DS1302_CLK_PIN  GPIO_Pin_7

#define DS1302_SEC_REG 0x80 
#define DS1302_MIN_REG 0x82 
#define DS1302_HR_REG 0x84 
#define DS1302_DATE_REG 0x86 
#define DS1302_MONTH_REG 0x88 
#define DS1302_DAY_REG 0x8a 
#define DS1302_YEAR_REG 0x8c 
#define D
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值