初级会员

- 积分
- 180
- 金钱
- 180
- 注册时间
- 2014-4-2
- 在线时间
- 57 小时
|

楼主 |
发表于 2017-4-7 19:17:00
|
显示全部楼层
本帖最后由 1121691743 于 2017-4-7 19:20 编辑
谢谢大神指导,我找到问题了,是我模拟pcf8563驱动写的时序有问题
void PCF8563_Read_nByte(unsigned char REG_ADD, unsigned char num, unsigned char *pBuff)
{
unsigned char i = 0;
IIC_Start();
if(!(IIC_Write_Byte(PCF8563_Write)))
{
IIC_Write_Byte(REG_ADD);
IIC_Start(); //这里有个重启总线,不能立马从启,要延时一下
IIC_Write_Byte(PCF8563_Read);
{
*pBuff = IIC_Read_Byte();
if(i == (num - 1)) IIC_NAck();
else IIC_Ack();
pBuff++;
}
}
IIC_Stop();
}
//2úéúIICÆeê¼DÅoÅ
void IIC_Start(void)
{
SDA_OUT();
delay_us(4); //在这里加个延时,可以了
IIC_SDA=1;
IIC_SCL=1;
delay_us(4);
IIC_SDA=0;//START:when CLK is high,DATA change form high to low
delay_us(4);
IIC_SCL=0;}
}C:\Users\Administrator\Desktop\新建文件夹
|
|