вопрос к спецам по ds1302, немогу понять в чем ошибка Собрал схему на mega32(1Mhz) и на DS1302, батарейку не подключал. Пытаюсь запустить не получаеться
#define SCLK PORTC_Bit1
#define IOR PINC_Bit2
#define IOW PORTC_Bit2
#define RST PORTC_Bit3
int main(void)
...
data_write(0x8E, 0x00); // WP bit should be cleared before attempting to write to the device.
data_write(0x80, 0x00); // set sec(start clock)
...
/****************************************/
void data_write(char addr, char data)
{
char i=8;
DDRC = 0x0E;
RST = 1;
do {
IOW = addr;
addr>>=1;
SCLK = 1;
SCLK = 0;
}while(--i>0);
i=8;
do {
IOW = data;
data <<= 1;
SCLK = 1;
SCLK = 0;
}while(--i>0);
RST = 0;
DDRC = 0;
}
/****************************************/
char data_read(char addr)
{
char data=0;
char i=8;
DDRC = 0x0E;
// загрузка адреса нужного регистра
RST = 1;
do {
IOW = addr;
addr>>=1;
SCLK = 1;
SCLK = 0;
}while(--i>0);
IOW = 0;
DDRC_Bit2 = 0;
i=8;
do {
if(IOR == 1)
data |= 0x80;
data >>= 1;
SCLK = 1;
SCLK = 0;
}while(--i>0);
RST = 0;
DDRC = 0;
return data;
}