bit testack() //等待ACK信号 { bit errorbit; SDA=1; delayms(1); SCL=1; delayms(1); errorbit=SDA; delayms(1); SCL=0; delayms(1); return(errorbit); } 在对DS1302发送完1字节的数据后,将释放总线,等待ACK信号,但是这样操作时,DS1302会认为是发送1位数据。比如,先发送0X84写小时,然后释放总线等待ACK信号,再写0x01,显示本来应该是1小时的,却变成了3小时。请问DS1302是不是不返回ACK信号的。 |