You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.0 KiB
86 lines
2.0 KiB
/* |
|
* @Author: your name |
|
* @Date: 2022-04-12 22:48:31 |
|
* @LastEditTime: 2022-04-13 00:45:47 |
|
* @LastEditors: your name |
|
* @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE |
|
* @FilePath: \20220410-IntelligentPiggery\stm32\HARDWARE\DS1302\DS1302.h |
|
*/ |
|
#ifndef __DS1302_H__ |
|
#define __DS1302_H__ |
|
#include <stm32f10x.h> |
|
#define uchar unsigned char |
|
#define uint unsigned int |
|
/***DS1302时钟芯片****************************/ |
|
|
|
//CLK--->PB5 |
|
//IO---->PB6 |
|
//RES--->PB7 |
|
/****************************/ |
|
|
|
#define OUT 0x01 |
|
#define IN 0x00 |
|
|
|
typedef int BOOL; |
|
#define TRUE 1 |
|
#define FALSE 0 |
|
|
|
struct ctime{ |
|
int day; |
|
int hour; |
|
int min; |
|
int sec; |
|
}; |
|
|
|
struct timing{ |
|
int year; |
|
int mon; |
|
int day; |
|
int hour; |
|
int min; |
|
int sec; |
|
BOOL run; |
|
BOOL alive; |
|
struct ctime time; |
|
}; |
|
|
|
extern struct timing nowTime; |
|
|
|
//extern uchar Settime[6]={0x17,0x04,0x18,0x16,0x57,0x30}; //设置时间函数 |
|
#define DS1302_PORT GPIOB |
|
|
|
#define CLK_Reset_0 GPIOB->BRR=GPIO_Pin_5 |
|
#define CLK_Set_1 GPIOB->BSRR=GPIO_Pin_5 |
|
|
|
#define IO_Reset_0 GPIOB->BRR=GPIO_Pin_6 |
|
#define IO_Set_1 GPIOB->BSRR=GPIO_Pin_6 |
|
|
|
#define RES_Reset_0 GPIOB->BRR=GPIO_Pin_7 |
|
#define RES_Set_1 GPIOB->BSRR=GPIO_Pin_7 |
|
|
|
#define IO_Read GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_6) |
|
/*************************/ |
|
#define Time_24_Hour 0x00 //24小时制 |
|
#define Time_Start 0x00 //开始走时 |
|
//DS1302寄存器操作指令定义时间地址 |
|
#define ds1302_sec_addr 0x80 //秒 |
|
#define ds1302_min_addr 0x82 //分 |
|
#define ds1302_hour_addr 0x84 //时 |
|
#define ds1302_day_addr 0x86 //日 |
|
#define ds1302_month_addr 0x88 //月 |
|
#define ds1302_year_addr 0x8c //年 |
|
/********************/ |
|
void DS1302_GPIOInit(void); |
|
void DS1302_IO_GPIO(uchar FLAG);//配置IO的方向 |
|
void DS1302_delay(u8 dd); |
|
void DS1302_Write(uchar add,uchar dat); |
|
uchar DS1302_Read(uchar add); |
|
void DS1302_SetTime(uchar *ad); |
|
void DS1302_OFF(void); |
|
void DS1302_ON(void); |
|
void DS1302_init(uchar *time); |
|
void DS1302_Readtime(void); |
|
|
|
|
|
|
|
#endif |