2-Wire это и есть i2c?
- Spider
- Опытный кот
- Сообщения: 732
- Зарегистрирован: Чт дек 29, 2005 07:29:25
- Откуда: Омск
- Контактная информация:
2-Wire это и есть i2c?
Сабж. А как с ним работать?

- Реклама
- Spider
- Опытный кот
- Сообщения: 732
- Зарегистрирован: Чт дек 29, 2005 07:29:25
- Откуда: Омск
- Контактная информация:
Во. У меня успехи. Получается общаться с этими часами.
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял
- Реклама
- Spider
- Опытный кот
- Сообщения: 732
- Зарегистрирован: Чт дек 29, 2005 07:29:25
- Откуда: Омск
- Контактная информация:
i2c после события STOP
Пишу модель 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 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?
ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял


