2-Wire это и есть i2c?
Сабж. А как с ним работать?

- Реклама
не получается
Прислюнил я DS1307 поцепил 2 резюка, запитал всё это дело. плюю старший бит на нулевой адрес (фроде как должно начать джёргать ногу с частотой 1Hz) а эффекта нет. ВОт сижу читаю как с неё ичтать, попробую регистрыс неё почиать...
Во. У меня успехи. Получается общаться с этими часами.
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял
- Реклама
нашёл дома часы китайские, и перепробовал в них все найденые мною кварцы, все они заставляют отсчитывать часы 1 секунду
Я правильно понял, что кварц просто припаять к ногам? Никаких кондёров и прочего?
Ага 
Тут ещё чё-то отказал проводко до LPT
Стереть проц стё, и всё... Я думал мож что с процом, взял другой, всё равно не видится
Вот же блин 
Тут ещё чё-то отказал проводко до LPT
Пишу модель DS1307 для протеуса. Да уже написал. Тока вот замика одна. Иногда виртуальная ATMega16 при выполнении такого кода:
"засыпает" на строчке while(....);
Я пробовал другие I2c устройства, не засыпает. пришл к выводу, что я что-то не так написал в реализация псевдо софтварного i2c.
вот описание i2c на русском http://www.itt-ltd.com/reference/ref_i2c.html
тока дурак не поймёт.
HELP.
Код: Выделить всё
/*************************************************************************
Terminates the data transfer and releases the I2C bus
*************************************************************************/
void i2c_stop(void)
{
/* send stop condition */
TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWSTO);
// wait until stop condition is executed and bus released
while(TWCR & (1<<TWSTO));
}/* i2c_stop */Я пробовал другие I2c устройства, не засыпает. пришл к выводу, что я что-то не так написал в реализация псевдо софтварного i2c.
вот описание i2c на русском http://www.itt-ltd.com/reference/ref_i2c.html
тока дурак не поймёт.
HELP.
- Вложения
-
- 1.jpg
- В самом конце этой порнографии и есть тот STOP он ну ничем не отличается от того, что в спецификации по i2c. Может надо ещё какие-то действия делать после получения стопа?
- (21.98 КБ) 555 скачиваний
Надо записать 0х00 вместо 0х80, тогда часики (DS1307) затикают...Spider писал(а):Во. У меня успехи. Получается общаться с этими часами.
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял


