Решил сделать себе часики, вырезал корпус из текстолита, вставил светодиоды, напоял все и тут дошла очередь до программы.... я нуб, могу простенькие программы на ассемблере и все. А тут решил разобраться с ds 1302 и начались траблы. Народ вообще походу поголовно на СИ пишет, а для мя это пока дремучий лес, да и асм нравиться вполне. Вообщем пытаюсь взять от
сюда
Может кто нибудь объяснить на пальцах шо тут творитцо, как организовывается передача команды с данными (да тупой не понимаю) вот на примере этой функции
Код:
|
//посылаем команду или байт данных в часы
void write(unsigned char cmd)
{
DDR_RTC |= (1‹‹E) | (1‹‹SCLK)|(1‹‹IO);//устанавливаем на выход
PORT_RTC |= (1‹‹E);//СE=1
_delay_us(4);
for(unsigned char i=0; i‹8; i++)//передаем биты
{
if((cmd&(1‹‹i)) == 1‹‹i)
{
PORT_RTC |= (1‹‹IO);
}
else
{
PORT_RTC &= ~(1‹‹IO);
}
PORT_RTC |= (1‹‹SCLK);//устанавливаем синхроимпульс и по фронту бит записывается в часы
_delay_us(1);
PORT_RTC &= ~(1‹‹IO);//сбрасываем IO и SCLK
PORT_RTC &= ~(1‹‹SCLK);
}
} |
Если есть желание и свободные 5 минут перевести это в асм, прям вообще шикарно будет.