1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #ifndef __DS1302_H__
- #define __DS1302_H__
- #include "stm32f7xx_hal.h"
- //IO方向设置
- //#define DS1302_IO_IN() {GPIOC->CRL&=0X0FFFFFFF;GPIOC->CRL|=((unsigned int)8<<28);}
- //#define DS1302_IO_OUT() {GPIOC->CRL&=0X0FFFFFFF;GPIOC->CRL|=((unsigned int)3<<28);}
- //IO操作函数
- //#define DS1302_DATA_OUT PCout(7) //数据端口 Pc7
- //#define DS1302_DATA_IN PCin(7) //数据端口 Pc7
- #define DS1302_SCK GPIO_PIN_9
- #define DS1302_RST GPIO_PIN_1
- #define DS1302_DATA GPIO_PIN_0
- //#define DS1302_SCK PCout(8)
- //#define DS1302_RST PCout(6)
- #define DS1302_RST_1 HAL_GPIO_WritePin(GPIOE, DS1302_RST, GPIO_PIN_SET)
- #define DS1302_RST_0 HAL_GPIO_WritePin(GPIOE, DS1302_RST, GPIO_PIN_RESET)
- #define DS1302_SCK_1 HAL_GPIO_WritePin(GPIOB, DS1302_SCK, GPIO_PIN_SET)
- #define DS1302_SCK_0 HAL_GPIO_WritePin(GPIOB, DS1302_SCK, GPIO_PIN_RESET)
- #define DS1302_DATA_OUT_1 HAL_GPIO_WritePin(GPIOE, DS1302_DATA, GPIO_PIN_SET)
- #define DS1302_DATA_OUT_0 HAL_GPIO_WritePin(GPIOE, DS1302_DATA, GPIO_PIN_RESET)
- #define DS1302_DATA_IN() HAL_GPIO_ReadPin(GPIOE, DS1302_DATA)
- //DS1302地址定义
- #define ds1302_sec_add 0x80 //秒数据地址
- #define ds1302_min_add 0x82 //分数据地址
- #define ds1302_hr_add 0x84 //时数据地址
- #define ds1302_date_add 0x86 //日数据地址
- #define ds1302_month_add 0x88 //月数据地址
- #define ds1302_day_add 0x8a //星期数据地址
- #define ds1302_year_add 0x8c //年数据地址
- #define ds1302_control_add 0x8e //控制数据地址
- #define ds1302_charger_add 0x90
- #define ds1302_clkburst_add 0xbe
- extern uint8_t time_buf[7];
- extern char tableDS1302[7];
- void DS1302_IO_IN(void);
- void DS1302_IO_OUT(void);
- void ds1302_Init(void);
- void ds1302_Write_Byte(uint8_t addr, uint8_t data);
- uint8_t ds1302_Read_Byte(uint8_t addr);
- void ds1302_Write_Time(uint8_t *Time_buf);
- void ds1302_Read_Time(void);
- void ds1302_Get_Time(uint8_t *time);
- //新增函数 李伟修改
- void Set_IO_INPUT(void);
- void Set_IO_OUT(void);
- void ds1302_writeV2(unsigned char time_tx);
- void ds1302_initV2(void);
- void DS1302_get_all(void);
- void ds1302_SynTime(SDateTime * datetime);
- #endif
|