📄 pcf8563.c
字号:
void GetPCF8563(uchar firsttype,uchar count,uchar *buff)
{
uchar i;
I2CStart();
I2CSendByte(0xa2);
WaitAck();//) {lcd_main1();lcd_main2();write3('f');write3('a');write3
('i');write3('l');while(1);}
I2CSendByte(firsttype);
WaitAck();
I2CStart();
I2CSendByte(0xa3);
WaitAck();
for(i=0;i<count;i++)
{
buff[i]=I2CReceiveByte();
if(i!=count-1) SendAck();
}
SendNotAck();
I2CStop();
SomeNOP();
}
void GetPCF8563_d(uchar firsttype,uchar buff)
{
I2CStart();
I2CSendByte(0xa2);
WaitAck();//) {lcd_main1();lcd_main2();write3('f');write3('a');write3
('i');write3('l');while(1);}
I2CSendByte(firsttype);
WaitAck();
I2CStart();
I2CSendByte(0xa3);
WaitAck();
buff=I2CReceiveByte();
SendNotAck();
I2CStop();
SomeNOP();
}
void SetPCF8563(uchar timetype,uchar value)
{
I2CStart();
I2CSendByte(0xa2);
WaitAck();
I2CSendByte(timetype);
WaitAck();
I2CSendByte(value);
WaitAck();
I2CStop();
SomeNOP();
}
void wrtorom(uchar address,uchar num,uchar Data[]) //24c08 write data
{
uchar i=0;
uchar *Pdata;
Pdata=Data;
I2CStart();
I2CSendByte(0xa0);
WaitAck();
I2CSendByte(address);
WaitAck();
for(i=0;i<num;i++)
{
I2CSendByte(*(Pdata+i));
WaitAck();
}
I2CStop();
}
void rdfromrom(uchar address,uchar num,uchar Data[]) //24c08 read control
{
uchar i;
uchar *Pdata;
Pdata=Data;
for(i=0;i<num;i++)
{
I2CStart();
I2CSendByte(0xa0);
WaitAck();//) {lcd_main1();lcd_main2();write3('f');write3('a');write3
('i');write3('l');while(1);}
I2CSendByte(address+i);
WaitAck();
I2CStart();
I2CSendByte(0xa1);
WaitAck();
*(Pdata+i)=I2CReceiveByte();
SendNotAck();
I2CStop();
SomeNOP();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -