ds1307.c

来自「1307c代码」· C语言 代码 · 共 49 行

C
49 行
字号
#include "DS1307.h"

unsigned char write_clock(unsigned int Address,unsigned int uiDataLen,unsigned char * pucDataBuff)
{	
    unsigned char uiCount;
	StartIIC();//启动总线
	SendOneByte(DS1307_WRITE);//发送器件写地址
	SendOneByte(Address);//发送字地址
	for(uiCount=0;uiCount<uiDataLen;uiCount++)
	{
		SendOneByte(*pucDataBuff);//发送数据
        pucDataBuff++;
	}
	StopIIC();//停止总线

	//EA = EAFlag;
	return 0;
}

unsigned char read_clock(unsigned int Address,unsigned int uiDataLen,unsigned char * pucDataBuff)
{
    unsigned char uiCount;

	StartIIC();//启动总线
	SendOneByte(DS1307_WRITE);//发送页地址
	SendOneByte(Address);//发送字地址

	StartIIC();//启动总线
	if(SendOneByte(DS1307_READ))//发送读命令
	 return 1;
	
	for(uiCount=0;uiCount<uiDataLen-1;uiCount++)
	{
		*pucDataBuff = ReceiveOneByte();//接收数据
		pucDataBuff ++;
		AckIIC(0);
	}
	*pucDataBuff = ReceiveOneByte();
	AckIIC(1);//非应答
	
	StopIIC();//停止总线
	
	return 0;
}

void Initial_Clock()
{
	write_clock(0x00,1,DS1307_INITIAL);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?