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

 
 
> Помогите добить 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
Ответов
defunct
сообщение Jan 6 2008, 21:45
Сообщение #2


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата
1. При формировании Master'ом СТАРТ прерывания у Slave возникают на каждый второй запуск.
...
2. При формировании СТАРТ код статуса Master не равен 0х08.

Возможно тормозит слейв - держит 0 на линии, от этого у мастера не получается послать СТАРТ.
Написание слейва это достаточно сложная задача, т.к. требует очень точной и быстрой обработки событий i2c шины. Неправильная обработка событий на стороне слейва может привести к "подвисанию" мастера.

Я бы порекомендовал попрактиковаться вначале с готовым стандартным i2c слейвом, напр. AT24xx/DS13xx/FM31xx и т.п.. Когда мастер для стандартных слейвов у вас заработает, вы будете по крайней мере иметь представление, что должен делать ваш слейв.

На момент отладки режима слейва ставьте небольшую скорость шины 1-2kHz.
Go to the top of the page
 
+Quote Post



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

 


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


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