|
А не забываешь ппроверять готовность перед посылкой байта?
флажок должен взвестись twint.
TWCR=(1..TWINT)|(1..TWSTA)|(1..TWEN); //Send Start
WaitTWINT;
if ((TWSR&0xF8)!=START) TWErr();
TWDR=DS1307W; //Slave adress for writing
TWCR=(1..TWINT)|(1..TWEN);
WaitTWINT;
if ((TWSR&0xF8)!=MT_SLA_ACK) TWErr();
TWDR=0x07;//Control Reg
TWCR=(1..TWINT)|(1..TWEN);
WaitTWINT;
if ((TWSR&0xF8)!=MT_DATA_ACK) TWErr();
//------------------------Send data--------------------------TWDR=0x40;// for DS1307 =0x90 ! Out=1;SQWE=1; 1Hz
TWCR=(1..TWINT)|(1..TWEN);
E-mail: info@telesys.ru