Страница 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, не нравится мне она. Я бы лучше сам программно все реализовал, по крайней мере это помогает лучше понять сам протокол.