?? ds1302.h
字號:
/************************************************
工程: DS1302驅動(For STM8S103K3)
作者:***
日期:2011.06.30
************************************************/
#ifndef __DS1302_h__
#define __DS1302_h__
#include "stm8s.h"
/*------------注意:我用的是端口 D !?。?-----------------*/
#define DS1302_PROT GPIOD->ODR
#define DS1302_SCLK 0x04 //GPIOD_2
#define DS1302_SCLK_H DS1302_PROT |= DS1302_SCLK //相當于GPIO_WriteHigh(GPIOD, GPIO_PIN_2)
#define DS1302_SCLK_L DS1302_PROT &= (~DS1302_SCLK)
#define DS1302_DIO 0x08 //GPIOD_3
#define DS1302_DIO_H DS1302_PROT |= DS1302_DIO
#define DS1302_DIO_L DS1302_PROT &= (~DS1302_DIO)
#define DS1302_CE 0x10 //GPIOD_4
#define DS1302_CE_H DS1302_PROT |= DS1302_CE //
#define DS1302_CE_L DS1302_PROT &= (~DS1302_CE)
#define DS1302_OUT_PP GPIOD->DDR |= DS1302_SCLK|DS1302_DIO|DS1302_CE;GPIOD->CR1 |= DS1302_SCLK|DS1302_DIO|DS1302_CE;GPIOD->CR2 &= (~(DS1302_SCLK|DS1302_DIO|DS1302_CE));
#define DS1302_DIO_IN_PU_NO_IT GPIOD->DDR&=(~DS1302_DIO);GPIOD->CR1|=DS1302_DIO;GPIOD->CR2&=(~DS1302_DIO);
#define DS1302_DIO_IN GPIOD->IDR&DS1302_DIO
/*
#define SECOND_W 0x80
#define SECOND_R 0x81
#define MINUTE_W 0x82
#define MINUTE_R 0x83
#define HOUR_W 0x84
#define HOUR_R 0x85
#define DATA_W 0x86
#define DATA_R 0x87
#define MONTH_W 0x88
#define MONTH_R 0x89
#define DAY_W 0x8a
#define DAY_R 0x8b
#define YEAR_W 0x8c
#define YEAR_R 0x8d
*/
#define SECOND 0x80
#define MINUTE 0x82
#define HOUR 0x84
#define DATE 0x86
#define MONTH 0x88
#define DAY 0x8a
#define YEAR 0x8c
#define PROTECT 0x8e
void Write1302(unsigned char add,unsigned char date);
unsigned char Read1302(unsigned char add);
void Set1302(unsigned char year,unsigned char month,unsigned char date,
unsigned char day,unsigned char hour,unsigned char min);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -