Обсуждаем цифровые устройства...
Ответить

2-Wire это и есть i2c?

Сб янв 28, 2006 14:34:43

Сабж. А как с ним работать?
:roll:

Сб янв 28, 2006 22:36:28

Я где то ошибочно писал, что в мегах ест 1-вайр. Нет, тама егонет. Но 2-вайр есть точно. Аппаратный. Берем и юзаем :)))

Сб янв 28, 2006 22:40:57

не получается :( Прислюнил я DS1307 поцепил 2 резюка, запитал всё это дело. плюю старший бит на нулевой адрес (фроде как должно начать джёргать ногу с частотой 1Hz) а эффекта нет. ВОт сижу читаю как с неё ичтать, попробую регистрыс неё почиать...

Сб янв 28, 2006 23:20:25

Во. У меня успехи. Получается общаться с этими часами.
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?

ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял :)

Вс янв 29, 2006 00:06:43

очень может быть. С часовыми кварцами ваще беда. Заводятся через раз. А померить то нечем?

Вс янв 29, 2006 07:51:30

А как их мерят?

Вс янв 29, 2006 09:22:45

Ну я имею ввиду - посмареть на ноге микросхемы, есть ли генерация

Вс янв 29, 2006 09:26:11

Загадками говорите, сэр!

Вс янв 29, 2006 09:51:42

нашёл дома часы китайские, и перепробовал в них все найденые мною кварцы, все они заставляют отсчитывать часы 1 секунду

Вс янв 29, 2006 09:54:20

Ну я ж не говорю, что кварц должен быть дохлый. Просто он может не заводиться на твоей микросхеме. Для этого и надо ткнуться осциллом и посмареть, есть генерация или нет :)) И никаких загадок! 8)

Вс янв 29, 2006 10:07:38

Я правильно понял, что кварц просто припаять к ногам? Никаких кондёров и прочего?

Вс янв 29, 2006 11:11:05

В даташите вроде так. :))
А чего, не генерит все-таки?

Вс янв 29, 2006 11:19:09

Ага :(
Тут ещё чё-то отказал проводко до LPT :) Стереть проц стё, и всё... Я думал мож что с процом, взял другой, всё равно не видится :( Вот же блин :)

i2c после события STOP

Чт фев 09, 2006 03:30:36

Пишу модель DS1307 для протеуса. Да уже написал. Тока вот замика одна. Иногда виртуальная ATMega16 при выполнении такого кода:
Код:
/*************************************************************************
 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 */


"засыпает" на строчке while(....);
Я пробовал другие I2c устройства, не засыпает. пришл к выводу, что я что-то не так написал в реализация псевдо софтварного i2c.

вот описание i2c на русском http://www.itt-ltd.com/reference/ref_i2c.html
тока дурак не поймёт.

HELP.
Вложения
1.jpg
В самом конце этой порнографии и есть тот STOP он ну ничем не отличается от того, что в спецификации по i2c. Может надо ещё какие-то действия делать после получения стопа?
(21.98 KiB) Скачиваний: 486

Сб фев 25, 2006 21:08:31

Spider писал(а):Во. У меня успехи. Получается общаться с этими часами.
Мне интересно, если читать с нулевого адреса,я должен получать секунды? А если получаю только 0x80 это значит не работает XTAL?
т.е. там сказано, что по адресу 00H в этой микрухе секунды, но старший фит это параметр прерывания. Я записал туда 0х80 при инициализации и читаю эти же 80 каждый раз, и прерываний нет никаких, значит кварц мой не фурлыкает?

ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял :)


Надо записать 0х00 вместо 0х80, тогда часики (DS1307) затикают...
Ответить