Страница 1 из 1

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

Добавлено: Сб янв 28, 2006 14:34:43
Spider
Сабж. А как с ним работать?
:roll:

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

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

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

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

Добавлено: Вс янв 29, 2006 00:06:43
Serega
очень может быть. С часовыми кварцами ваще беда. Заводятся через раз. А померить то нечем?

Добавлено: Вс янв 29, 2006 07:51:30
Spider
А как их мерят?

Добавлено: Вс янв 29, 2006 09:22:45
Serega
Ну я имею ввиду - посмареть на ноге микросхемы, есть ли генерация

Добавлено: Вс янв 29, 2006 09:26:11
Spider
Загадками говорите, сэр!

Добавлено: Вс янв 29, 2006 09:51:42
Spider
нашёл дома часы китайские, и перепробовал в них все найденые мною кварцы, все они заставляют отсчитывать часы 1 секунду

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

Добавлено: Вс янв 29, 2006 10:07:38
Spider
Я правильно понял, что кварц просто припаять к ногам? Никаких кондёров и прочего?

Добавлено: Вс янв 29, 2006 11:11:05
Serega
В даташите вроде так. :))
А чего, не генерит все-таки?

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

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

Добавлено: Чт фев 09, 2006 03:30:36
Spider
Пишу модель 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.

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

ЗЫ. Кварц выпаял из китайских часов, они работали до того как выпаял :)
Надо записать 0х00 вместо 0х80, тогда часики (DS1307) затикают...