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

 
 
> Проблема с TWI
James D.
сообщение Nov 4 2005, 17:14
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 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 приемник" на вызов не реагировал?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
beer_warrior
сообщение Nov 8 2005, 11:39
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



USART это точка-точка в общем случае.
Вам какое расстояние нужно? Может SPI спасет.

По поводу TWI. Если я правильно понял вход слэйва в режим
приема производиться по таймеру. Это не есть хорошо. Слэйв на то
и слэйв чтобы вестись в обмене сигналами мастера. Т.е. мы ждем
прерывания от TWI (start condition) далее не вылазим оттедова пока
мастер нас не отпустит.
Сильно подозреваю что по вашей системе слэйв теряет либо старт
либо один из клоков и поэтому ждет еще чего-н из порта.

А вообще-то переходите на С, сильно облегчит жизнь :-)


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- James D.   Проблема с TWI   Nov 4 2005, 17:14
- - James D.   Попробовал отключать от линии приемник, к которому...   Nov 5 2005, 15:37
- - haker_fox   Была у меня такая ситуация. Но я забыл поставить н...   Nov 6 2005, 08:18
- - James D.   Резисторы по 4.7кОм стоят на каждой линии (соединя...   Nov 6 2005, 08:43
- - haker_fox   ЦитатаSLA_Wr: ldi temp,$04 ;Загрузка адреса S...   Nov 6 2005, 10:41
- - James D.   Да примеры-то эти я уже давно все скачал и просмот...   Nov 6 2005, 12:44
- - haker_fox   ЦитатаPusk_Sr: ldi temp,(1<<TWINT)|(1<...   Nov 6 2005, 14:16
- - James D.   Так в даташите как раз есть такая фраза: "Дл...   Nov 6 2005, 15:11
- - James D.   Выяснил...   Nov 6 2005, 16:29
- - haker_fox   ЦитатаSTOP_r: ldi temp,(1<<TWINT)|(0<...   Nov 7 2005, 00:12
- - rmo   В VMLAB в папке AVR_demo есть рабочий проект TWI ...   Nov 7 2005, 03:24
- - James D.   Вы понимаете, я обнуление (например, 0<<TWST...   Nov 7 2005, 05:32
- - rmo   VMLAB http://www.amctools.com/download.htm   Nov 7 2005, 07:59
- - James D.   М-да, выглядит как игрушка. Сомневаюсь я насчет ре...   Nov 7 2005, 10:41
- - beer_warrior   Ну я думаю во-первых, если не работает на разных к...   Nov 7 2005, 12:30
- - James D.   У меня временная индикация сделана на светодиодах....   Nov 7 2005, 12:53
- - beer_warrior   Ну и все проходит нормально? Нигде не не вылетает...   Nov 7 2005, 13:25
- - James D.   Прога полностью работает при пересылке от m32 (мас...   Nov 7 2005, 14:12
- - beer_warrior   Ну и на каком этапе вылетает обмен между м32 и м16...   Nov 7 2005, 15:24
- - _artem_   Ne znayu rabotaet ili net - no yesli da mozet i pr...   Nov 7 2005, 16:22
- - James D.   To beer_warrior: а как проверить инициализацию м16...   Nov 7 2005, 21:08
|- - beer_warrior   Цитата(James D. @ Nov 7 2005, 23:08) To b...   Nov 8 2005, 08:57
- - _artem_   Po moemu v code priemnika ty dlzen zapisat v TWAR ...   Nov 7 2005, 23:28
- - James D.   Попробовал $08 - не то. Понимаете, artem, с m...   Nov 8 2005, 06:49
- - _artem_   Soglasen s beer_warrior, nado snachala soblyusti c...   Nov 8 2005, 10:04
- - James D.   Различи...   Nov 8 2005, 10:51
- - James D.   Еще кое-...   Nov 8 2005, 11:42
- - beer_warrior   Батенька, с арбитражем у вас проблемы. И с отраб...   Nov 8 2005, 12:42
- - beer_warrior   Батенька, с арбитражем у вас проблемы. И с отраб...   Nov 8 2005, 12:56
- - James D.   Спасибо,...   Nov 8 2005, 13:39
- - beer_warrior   Ну тогда и говорим о первоначальном варианте. м32 ...   Nov 8 2005, 15:48
- - James D.   Правиль...   Nov 8 2005, 16:16
- - beer_warrior   ОК, значит щелкнул таймер, обмен с м32 прошел, на...   Nov 8 2005, 20:54
- - James D.   Для чистоты эксперимента сделал следующее. Общение...   Nov 9 2005, 07:08
- - beer_warrior   ОК, первая посылка мастера SLAW? Тогда проверяем к...   Nov 9 2005, 09:40
- - James D.   Слэйв м32 отключил, пишу сразу в м16. Кусок кода в...   Nov 9 2005, 11:30
- - beer_warrior   Ну во-первых, адрес надо сдвигать на 1 бит и накл...   Nov 9 2005, 12:32
- - James D.   Вынул из панельки слейв м16, и поставил туда слэйв...   Nov 9 2005, 12:52
- - beer_warrior   Так может просто кристалл битый?   Nov 9 2005, 13:00
- - James D.   Сдвинул ...   Nov 9 2005, 13:09
- - James D.   Да, и еще. Раньше у меня в системе (громко звучит,...   Nov 9 2005, 13:22
- - beer_warrior   ОК делаем вот такой финт - сразу после инициализац...   Nov 9 2005, 13:24
- - James D.   Значит ...   Nov 9 2005, 14:20
- - James D.   Вы еще мне объясните: зачем это левое прерывание-т...   Nov 9 2005, 14:38
- - beer_warrior   Неа, я имел в виду прерывание по TWI т.е. гарантир...   Nov 9 2005, 16:32
- - James D.   Я так и подумал, что надо задействовать прерывание...   Nov 9 2005, 17:03
- - _artem_   James , voobse to etot Atmel nado povesit ). Vot ...   Nov 10 2005, 03:14
- - James D.   По прерыванию TWI что-то не работает... Прошу не б...   Nov 10 2005, 08:38
- - James D.   artem, насчет повесить - за мной будешь, сначала о...   Nov 10 2005, 09:01
- - James D.   Тихо шифером шурша ... Ситуация такая. Слэйв м16 ...   Nov 10 2005, 11:34
- - beer_warrior   Артем, запись 1 в TWINT сбрасывает триггер, а пре...   Nov 10 2005, 12:35
- - James D.   Хорошо, если можно запустить программу обработки о...   Nov 10 2005, 16:34
- - _artem_   2 beer_warrior, ya s samogo nachala zametil chto p...   Nov 10 2005, 18:17
- - beer_warrior   to artem: • Bit 7 – TWINT: TWI Interrupt Flag Thi...   Nov 10 2005, 18:41
- - James D.   Я очень благодарен вам за помощь. Буду ждать подро...   Nov 10 2005, 20:41
- - James D.   Маленьк...   Nov 11 2005, 07:37
- - beer_warrior   http://www.nongnu.org/avr-libc/user-manual/index.h...   Nov 11 2005, 08:16
- - James D.   Нашел на диске обучение языку С. Что-то типа книги...   Nov 11 2005, 09:46
|- - bbg   Цитата(James D. @ Nov 11 2005, 12:46) Поп...   Nov 11 2005, 17:23
- - James D.   Дело пр...   Nov 11 2005, 19:24
- - James D.   Вопрос. ...   Nov 14 2005, 13:10
- - James D.   Получае...   Nov 14 2005, 14:11
|- - IgorKossak   Цитата(James D. @ Nov 14 2005, 16:11) ......   Nov 16 2005, 08:17
- - James D.   При передаче с мастера м32 на слэйв м32 я поубирал...   Nov 16 2005, 15:40
|- - IgorKossak   Цитата(James D. @ Nov 16 2005, 17:40) При...   Nov 16 2005, 16:51
- - James D.   Я хочу, очень хочу, чтобы все работало ПРАВИЛЬНО и...   Nov 16 2005, 19:32
|- - IgorKossak   Цитата(James D. @ Nov 16 2005, 21:32) ......   Nov 17 2005, 07:51
- - _artem_   Может вам интересно будет - послал мeйл Атмелу нас...   Nov 17 2005, 10:30
|- - bbg   Цитата(_artem_ @ Nov 17 2005, 13:30) Може...   Nov 20 2005, 09:56
- - James D.   IgorKossak, я был бы вам безмерно благодарен, если...   Nov 17 2005, 21:33
- - IgorKossak   Уважаемый James D., с ассемблером я сталкиваюсь то...   Nov 18 2005, 09:00
- - James D.   У меня на всех трех МК (м16 и два м32) стоят кварц...   Nov 18 2005, 19:41
- - James D.   Сделал простейший случай, когда больше ничего друг...   Nov 20 2005, 13:32
- - m16   James D. ну за что ж Вы так шиты не любите. Я де...   Nov 20 2005, 14:24
- - James D.   Да есть у меня полный перевод м128 с этого сайта. ...   Nov 20 2005, 15:25
|- - m16   Цитата(James D. @ Nov 20 2005, 18:25) Доп...   Nov 20 2005, 16:28
- - James D.   Но там вот что написано: 1. Пepeдaeтcя бaйт дaнны...   Nov 20 2005, 16:42
|- - m16   Цитата(James D. @ Nov 20 2005, 19:42) Но ...   Nov 20 2005, 17:06
- - James D.   SLA_W: ldi temp,$04 ;Загрузка адреса слэйв ...   Nov 20 2005, 17:15
- - m16   а где старт и опрос состояния после оного?   Nov 20 2005, 17:25
- - James D.   Не, ну я кусок привел - где ошибка. А полностью во...   Nov 20 2005, 17:33
- - m16   пора уходить. приложил рабающий код для работы с ...   Nov 20 2005, 17:40
- - James D.   Не знаю насколько код работающий, пока не разобрал...   Nov 20 2005, 18:49
|- - m16   Цитата(James D. @ Nov 20 2005, 21:49) Не ...   Nov 21 2005, 06:41
- - James D.   Кстати, приемник - слэйв м16 зацикливается здесь (...   Nov 20 2005, 19:13
- - James D.   Если линии SDA и SCL в "0" состоянии, зн...   Nov 20 2005, 19:49
- - James D.   Почему ведущим? Приемник у меня подчиненный. Бит T...   Nov 21 2005, 10:31
- - m16   именно (1<<TWEA)|(1<<TWEN) - ведомый п...   Nov 21 2005, 11:06
- - James D.   Понял, вечерком попробую с такой комбинацией. Пос...   Nov 21 2005, 11:24
|- - m16   Цитата(James D. @ Nov 21 2005, 14:24) Пон...   Nov 21 2005, 11:40
- - James D.   В приемнике убрал (1<<TWINT), оставил везде ...   Nov 21 2005, 16:03
|- - m16   вообще то если на шине нет ошибки (код F8) по...   Nov 21 2005, 16:41
- - James D.   Дык я так и делаю (прога передатчика целиком): ld...   Nov 21 2005, 17:10
|- - m16   Цитата(James D. @ Nov 21 2005, 20:10) Дык...   Nov 21 2005, 17:42
- - James D.   Приемник: ldi temp,$04 ;Инициализация режи...   Nov 21 2005, 18:04
|- - m16   Цитата(James D. @ Nov 21 2005, 21:04) При...   Nov 21 2005, 18:18
- - James D.   Урра!!! Заработало!!! З...   Nov 21 2005, 20:18
- - James D.   М-да... Работать-то оно работает, но появились про...   Nov 22 2005, 12:58
- - Moks   Добрый вечер! Вот нужна какая помощь: Я переда...   Dec 1 2005, 20:10
3 страниц V   1 2 3 >


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

 


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


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