|
Проблема с TWI |
|
|
|
Nov 4 2005, 17:14
|

Местный
  
Группа: Участник
Сообщений: 315
Регистрация: 10-10-05
Пользователь №: 9 466

|
Соединил 3 МК по TWI - Master передает данные на Slave 1, потом на Slave 2 (поочередно, друг за другом). Два из них общаются нормально (односторонняя передача от Master к Slave 1), а как только нужно передать от Master к Slave 2, один раз передача проходит и все зависает. Судя по всему, после этого не получается передать данные на Slave 1. В конце каждой передачи Master осуществляет условие STOP STOP: ldi temp,(1<<TWINT)|(1<<TWSTO)|(1<<TWEN) out TWCR,temp, а Slave 1/2, после приема переданных байт, просто переходят к дальнейшему выполнению основной программы, т.е. никаких стоповых функций нет. Должны ли они как-то обрабатывать функцию STOP?
Можно ли в режиме "slave приемник" узнать какой адрес передал "master передатчик", т.е. к кому в данный момент он обращается? Появляется ли этот адрес в TWDR?
Как правильно обратиться к конкретному "slave приемнику", чтобы второй "slave приемник" на вызов не реагировал?
|
|
|
|
Сообщений в этой теме
James D. Проблема с TWI Nov 4 2005, 17:14 proba интересно, как кто решил TWI slave, я переписал tw... Dec 3 2005, 14:03 Moks Спасибо, но я просил на Си, к тому же моя микросхе... Dec 4 2005, 17:09 James D. Продолжаю добивать TWI. Хочу разобраться в конце-к... Dec 19 2005, 12:42 Petka Цитата(James D. @ Dec 19 2005, 15:42) Про... Dec 19 2005, 14:15 James D. TWI у меня работает не по своим прерываниям, а в о... Dec 19 2005, 14:49 Petka Цитата(James D. @ Dec 19 2005, 17:49) TWI... Dec 19 2005, 15:05 bodja74 Цитата(James D. @ Dec 19 2005, 17:49) TWI... Dec 19 2005, 23:02 James D. ЦитатаВ подпрограмме обработки прерывания достаточ... Dec 20 2005, 05:56 Petka Цитата(James D. @ Dec 20 2005, 08:56) Что... Dec 20 2005, 08:05 James D. Цитата2) записать адрес в регистр TWAR выбранный а... Dec 20 2005, 10:51 Petka Цитата(James D. @ Dec 20 2005, 13:51) Цит... Dec 20 2005, 11:53  IgorKossak Цитата(Petka @ Dec 20 2005, 13:53) 1) кон... Dec 20 2005, 13:21 James D. Установил адрес слэйва - $40, а мастер вызыва... Dec 20 2005, 14:31 Petka Цитата(James D. @ Dec 20 2005, 17:31) Уст... Dec 20 2005, 14:45  James D. Цитата(Petka @ Dec 20 2005, 17:45) Цитата... Dec 21 2005, 07:35 bodja74 Хорошо,обьясняю популярнее.
Слейву вообще по бара... Dec 20 2005, 18:26 DeXteR Добрый день
Вот бы кто из действительно шарящих л... Dec 21 2005, 10:00 m16 Цитата(DeXteR @ Dec 21 2005, 13:00) Вот б... Dec 21 2005, 10:06  IgorKossak Цитата(m16 @ Dec 21 2005, 12:06) а чем ,п... Dec 21 2005, 10:10   Petka Цитата(IgorKossak @ Dec 21 2005, 13:10) Ц... Dec 21 2005, 10:57 James D. Я делаю так - передача одного байта (без обработки... Dec 21 2005, 11:25 Petka Цитата(James D. @ Dec 21 2005, 14:25) Я д... Dec 21 2005, 11:32 IgorKossak Цитата(James D. @ Dec 21 2005, 13:25) Я д... Dec 21 2005, 14:24 James D. Так, заменил на ожидание "0" (в цикле ож... Dec 21 2005, 13:13 James D. Кстати, в даташите (в приведенном там примере) сто... Dec 21 2005, 13:30 Petka Цитата(James D. @ Dec 21 2005, 16:30) Кст... Dec 21 2005, 14:00 James D. ЦитатаЭто значит, что первое прерывание у слейва в... Dec 21 2005, 14:54 IgorKossak Цитата(James D. @ Dec 21 2005, 16:54) Код... Dec 21 2005, 15:19 IgorKossak Добавлю также, что надо анализировать ВСЕ события ... Dec 21 2005, 15:30 bodja74 ЦитатаТо bodja74:
"Если на шине не то что ему... Dec 21 2005, 19:25 bbill Немного не по теме. Кто-нибудь встречал русскоязыч... Dec 22 2005, 00:12 James D. Сделал следующее.
Убрал из программ мастера и слэй... Dec 22 2005, 13:16 IgorKossak 1. Скорость передачи устанавливается только в маст... Dec 22 2005, 14:25 James D. Цитата4. Байт адреса слейва, передаваемый мастером... Dec 22 2005, 14:56 IgorKossak Цитата(James D. @ Dec 22 2005, 16:56) Воб... Dec 22 2005, 15:30 bodja74 К IgorKossak мне уже добавить особо нечего,
единс... Dec 22 2005, 16:46 James D. Цитата(bodja74 @ Dec 22 2005, 19:46) К Ig... Dec 23 2005, 11:14  bodja74 Мастеру нужно ждать пока TWINT=0,если TWINT=1 двиг... Dec 23 2005, 11:51  bodja74 Цитата;Режим - подчиненный-приемник:
TWI_Obr:in ... Dec 23 2005, 12:01 James D. Переписал проги. Слэйв:
Код;***** Векторы Прерыва... Dec 23 2005, 09:09 James D. ЦитатаНасчет F8 ,с чем связаны эти маневры?
wait1... Dec 23 2005, 14:33 bodja74 Я извмняюсь,наверно неважный из меня советчик.
Хот... Dec 23 2005, 19:27  bodja74 Вот код для мастера.
Я щасс "графический... Dec 23 2005, 23:31 James D. Предлагаю сразу прояснить ситуацию с адресами.
Доп... Dec 24 2005, 09:02 bodja74 Цитата(James D. @ Dec 24 2005, 12:02) Пре... Dec 24 2005, 13:06 James D. Переписал программы.
Слэйв:
Код;Инициализация... Dec 24 2005, 10:08 James D. Ну вот теперь, наконец, с адресацией разобрались... Dec 24 2005, 13:47 bodja74 Цитата(James D. @ Dec 24 2005, 13:08) Пер... Dec 24 2005, 20:36  bodja74 Вот простейший код еще для слейва.
Будет работать ... Dec 25 2005, 10:57 James D. bodja74, огромное Вам спасибо за помощь.
Все испра... Dec 25 2005, 12:15 bodja74 Цитата(James D. @ Dec 25 2005, 15:15) bod... Dec 25 2005, 14:23 James D. Сейчас прикинул как сделать.
Мастер:
1. мастер по... Dec 25 2005, 13:29 James D. Мастер:
Код
;*************************
;Передача... Dec 25 2005, 16:42 James D. Слэйв2:
Код;Инициализация TWI:
ldi t... Dec 25 2005, 16:53 bodja74 По мастеру похоже все верно. Dec 25 2005, 17:02 bodja74 Блин Вроде все верно,
единственно нужно попробоват... Dec 25 2005, 18:22 James D. Скорость приема/передачи = 71429 Hz
Паузу увеличил... Dec 25 2005, 19:12 James D. Не понял... У меня мастер из паузы не выходит:
PA... Dec 25 2005, 20:22 bodja74 Цитата(James D. @ Dec 25 2005, 23:22) Не ... Dec 25 2005, 22:26 James D. Да ну ё-моё!!! Вот это лажа!!... Dec 26 2005, 05:49 James D. Зависает в мастере здесь:
waitR1: in temp,TWCR ;... Dec 26 2005, 06:16 Petka Добавьте в код слэйва в обработчик прерываний обра... Dec 26 2005, 08:36 James D. Так правильно?
Не совсем понял, как надо обработат... Dec 26 2005, 10:57 bodja74 Я еще слейв в режиме передатчика не делал (небыло ... Dec 26 2005, 13:54 Petka при событии 0xF8 надо просто выйти из прерывания Н... Dec 26 2005, 15:17 bodja74 ВСЕ!!!
Добил.
Думаю разберетесь.
Ко... Dec 27 2005, 23:30 James D. Вроде все исправил, но мастер зависает в том же ме... Dec 28 2005, 14:23 bodja74 1.Моя ошибка в мастере(я этот код использовал в си... Dec 28 2005, 16:58 bodja74 Вот исправленный код для мастера.
Должен работать ... Dec 28 2005, 17:25 James D. Да не получается ничего. Та же беда. Dec 29 2005, 11:14 James D. Сделал, ради эксперимента, еще такой финт.
Мастер ... Dec 29 2005, 13:07 bodja74 У вас код слейва2 ,тот же?
Если нет,выкладывайте.
... Dec 29 2005, 13:33 James D. Код слейва2:
Код;Инициализация TWI:
ld... Dec 30 2005, 06:08 James D. Код слейва 1:
Код;Инициализация TWI:
l... Dec 30 2005, 06:21 James D. Почему-то редактирование сообщений не работает, в ... Dec 30 2005, 08:04 bodja74 Вот здесь Вы разрешаете прерывание (1<<TWIE)... Dec 30 2005, 15:11 bodja74 1 А я не вижу радости в программном TWI.Тоже дела... Dec 30 2005, 18:02 картошка Цитата(bodja74 @ Dec 30 2005, 21:02) 1 А ... Dec 30 2005, 19:05 bodja74 Без проблем.
Не ошибается тот ,кто ничего не дела... Dec 30 2005, 19:24 James D. Новый вариант слейв2:
Код TWI_Obr:in temp,TW... Dec 30 2005, 21:04 bodja74 Как я и предполагал этот участок кода в слейве не ... Dec 31 2005, 10:47  defunct Цитата(bodja74 @ Dec 31 2005, 12:47) Как ... Jan 2 2006, 09:36   bodja74 Цитата(defunct @ Jan 2 2006, 12:36) Скажи... Jan 2 2006, 15:07 James D. Огромное спасибо за помощь!
Буду пробовать нов... Dec 31 2005, 11:32 bodja74 И Вас с тем же ,и Вам того же.
Пора водку пить,со... Dec 31 2005, 11:57 James D. Нет, не получилось - мастер зависает в том же мест... Dec 31 2005, 15:35 bodja74 Прогу мастера проверил,работает.По крайней мере та... Jan 1 2006, 21:29 James D. Я привел здесь для слейвов только обработчики прер... Jan 2 2006, 13:40 James D. Если кода рабочие, а у меня на макетке не работает... Jan 3 2006, 06:05 Petka почему в проге "слейв2" не обрабатываете... Jan 3 2006, 11:01 bodja74 Ну как не работает на макетке ?У меня же работает.... Jan 3 2006, 11:51 James D. Нашел две версии: Proteus 6.5 SP5 (16.52 Mb) и Pro... Jan 3 2006, 14:27 James D. Скачал proteus 6.5 SP5. Первое впечатление: очень ... Jan 3 2006, 21:30 bodja74 Ну нормально,
Я три месяца лопатил весь интернет,п... Jan 3 2006, 22:49 James D. ISIS вроде как работоспособный. Проект из Samples ... Jan 4 2006, 06:48 bodja74 Да слышал,что к 6.5 не все работает.
Провере добав... Jan 4 2006, 11:14 James D. Файлы получил, спасибо, буду разбираться. Jan 4 2006, 13:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|