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

ATtiny2313: не могу запустить USI в режиме I2C

Добавлено: Чт мар 29, 2007 18:34:02
rlc
Добрый день!
Надо записывать/читать АТ24С04.
пытался настроить готовый модуль usi - ничерта не получается....
:(
пишу на ассемблере.
счас пытаюсь реализовать программный i2c,но там все временные задержки надо подбирать.
Хотелось бы запустить USI.
Может кто чего знает по поводу USI?
даташит на микруху читал.

Добавлено: Чт мар 29, 2007 18:42:20
ARV
Уж сколько раз твердилось миру... а воз и ныне там.
Есть проблема - опиши, какая, что не так или наоборот, как же понять, чего тебе не хватает?! :)
С первого взгляда - USI настраивается и работает очень просто. Программная реализация так же довольно проста, я сам ее делал многократно разными способами :) - не понимаю, что может вызывать затруднения. Задержки для и2ц некритичны, лишь бы частота SCL не превышала 400 кГц для быстрого режима или 100 кГц для стандартного. Ниже - сколько угодно.

Добавлено: Чт мар 29, 2007 19:44:16
rlc
дык в том то и дело, что не пишет и не читает......
AVR, будь добреньким, скинь примеры.
чтоб посмотреть, как иницилизировать/читать/писать
Пожалуста!!!!

Добавлено: Чт мар 29, 2007 20:30:15
ARV
Я с тини2313 дела пока не имел, и его USI в деталях не ковырял. Судя по даташиту (если я не ошибаюсь), реализация и2ц в нем какая-то левая: сдвиг аппаратный, а старт-стоп - нет :( Глупость какая-то. Может, потому у тебя и не работает, что старт и стоп ты не делаешь сам путем манипуляции с выводом SDA напрямую (т.е. путем записи в соответствующий PORTх)?

Добавлено: Пт мар 30, 2007 08:04:09
ARV
Думаю, тебе помогут фирменные документы от Atmel: http://www.atmel.com/dyn/resources/prod ... AVR310.zip - пример кода, http://www.atmel.com/dyn/resources/prod ... oc2561.pdf - сопроводительный апноут.
Хотя мое мнение остается прежним - странная реализация USI, не нравится мне она. Я бы лучше сам программно все реализовал, по крайней мере это помогает лучше понять сам протокол.