📄 ds1302.h
字号:
#ifndef DS1302_H
#define DS1302_H 1
#include <avr/io.h>
//DS1302
// 控制字
#define TIME_RTC_START 0x7F
#define TIME_RTC_STOP 0x80
#define WRITE_PROTECT_ON 0x80
#define WRITE_PROTECT_OFF 0x00
#define BURST_WRITE 0xBE
#define BURST_READ 0xBF
// 充电模式 ON_二极管数<1-2>_电阻<2-4-8>K
#define CHARGE_OFF 0x00
#define CHARGE_ON_1_0 0xA4
#define CHARGE_ON_1_1 0xA5
#define CHARGE_ON_1_2 0xA6
#define CHARGE_ON_1_3 0xA7
#define CHARGE_ON_2_0 0xA8
#define CHARGE_ON_2_1 0xA9
#define CHARGE_ON_2_2 0xAA
#define CHARGE_ON_2_3 0xAB
/**
* PORTB5 -> RST
* PORTB4 -> I/O
* PORTB3 -> SCK
**/
#define SET_TIMER_REST (PORTB |= (1<<PORTB5))
#define CLR_TIMER_REST (PORTB &= ~(1<<PORTB5))
#define SET_TIMER_SCLK (PORTB |= (1<<PORTB3))
#define CLR_TIMER_SCLK (PORTB &= ~(1<<PORTB3))
/* When data out */
#define SET_TIMER_IO (PORTB |= (1<<PORTB4))
#define CLR_TIMER_IO (PORTB &= ~(1<<PORTB4))
/* When data in */
#define GET_TIMER_IO (PINB & (1<<PORTB4))
#define true 1
#define false 0
void writeChar(unsigned char data);
unsigned char readChar(void);
void setChipReg(unsigned char addr,unsigned char data);
unsigned char getChipReg(unsigned char addr);
void chipWriteProtect(unsigned char condition);
void chipClockStart(unsigned char condition);
void setChargeReg(unsigned char chargeMode);
void burstModeTimeWrite(unsigned char *pClock);
void burstModeTimeRead(unsigned char *pClock);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -