33 lines
894 B
C
33 lines
894 B
C
#ifndef __DS1307_H
|
|
#define __DS1307_H
|
|
|
|
//==============================================================================
|
|
//macro: iic_sdain iic_sdaout
|
|
//设置sda为输入或输出
|
|
//方法: 设置CRL 高4位为 1000 位7 sda 上下拉输入
|
|
// 设置CRL 高4位为 0011 位7 sda 推挽输出 最高频率50M
|
|
//因为可以保证不会设置为AF
|
|
//==============================================================================
|
|
#define iic_sdain() GPIOF->MODER &= 0XFFFFF3FF;//
|
|
#define iic_sdaout() GPIOF->MODER |= 0X00000400;//
|
|
#define IICWAITTIMEOUT 250
|
|
#define iic_gpio GPIOF
|
|
#define iic_scl GPIO_Pin_4
|
|
#define iic_sda GPIO_Pin_5
|
|
|
|
//void delay_us(unsigned int Counter);
|
|
void DS1307_Init(void);
|
|
void iic_start(void);
|
|
void iic_stop(void);
|
|
u8 iic_wait4ack(void);
|
|
void iic_ack(void);
|
|
void iic_noack(void);
|
|
void iic_sendbyte(u8);
|
|
u8 iic_readbyte(unsigned char ack);
|
|
void DS1307_Read(void);
|
|
void DS1307_Write(void);
|
|
|
|
|
|
|
|
#endif
|