реклама на сайте
подробности

 
 
> Помогите добить TWI, Или он добьет меня
ingord
сообщение Jan 5 2008, 23:45
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 86
Регистрация: 18-09-07
Пользователь №: 30 627



Здравствуйте! Две AtMega, одна - Master, другая Slave. За основу взял программу на Си, предложенную, не соврать бы, haker fox'ом. Slave корябаю сам. TWI аппаратный. Проблемы:
1. При формировании Master'ом СТАРТ прерывания у Slave возникают на каждый второй запуск. Т.е., первый СТАРТ прошел (импульсы на шинах проскакивают, пробовал менять их длительнсть в широких пределах) - прерывания нет, на второй СТАРТ прерывание возникает, на третий - тишина, четвертый - есть и т.д.
2. При формировании СТАРТ код статуса Master не равен 0х08.
Ну а дальше не смотрел. Добиться бы для начала хоть СТАРТ правильно делать.
Помогите, кто может.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Diz
сообщение Jan 7 2008, 04:49
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 84
Регистрация: 1-08-06
Пользователь №: 19 250



Может, и не в тему, но обратите внимание на длительность STOP-а - она в avr не привязана
к периоду шины и подтверждения прерыванием не имеет. Если скорость шины низкая, и
после STOPа сразу идет START (следующая посылка), то это не будет распознано слейвом и
посылка будет потеряна.

Самая первая посылка может быть потеряна, если вы начинаете обмен сразу после включения
питания устройств - можно попробовать первым вывести на шину слейва, и лишь затем мастера
после задержки.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 7 2008, 14:27
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Diz @ Jan 7 2008, 09:49) *
Самая первая посылка может быть потеряна, если вы начинаете обмен сразу после включения
питания устройств - можно попробовать первым вывести на шину слейва, и лишь затем мастера
после задержки.
В стандарте I2C имеется рекомендация после подачи питания поclockать мастером шину SCL без выдачи предварительного START-условия. Не менее 9-10 тактов SCL нужно выдать. Этот прием позволяет вывести из ступора автомат приема у аппаратных Slave-ов, подключенных к шине.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 06:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016