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

 
 
> Проблема с 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
Ответов
James D.
сообщение Nov 20 2005, 18:49
Сообщение #2


Местный
***

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



Не знаю насколько код работающий, пока не разобрался, но вот две ошибки:

ldi tempA,t5000
rcall l

Да и сложный у вас код, запутанный (как на первый взгляд), я пользуюсь такими п/п:
;************************************
;Подпрограмма чтения байта из EEPROM:

EEPROM_read:
sbic EECR,EEWE
rjmp EEPROM_read
out EEARH,temp1
out EEARL,temp2
sbi EECR,EERE
in data,EEDR
ret
;************************************

;************************************
;Подпрограмма записи байта в EEPROM:

EEPROM_write:
sbic EECR,EEWE
rjmp EEPROM_write
out EEARH,temp1
out EEARL,temp2
out EEDR,data
sbi EECR,EEMWE
sbi EECR,EEWE
ret

;*************************************

Сообщение отредактировал James D. - Nov 20 2005, 18:56
Go to the top of the page
 
+Quote Post
m16
сообщение Nov 21 2005, 06:41
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 242
Регистрация: 27-01-05
Пользователь №: 2 225



Цитата(James D. @ Nov 20 2005, 21:49) *
Не знаю насколько код работающий, пока не разобрался, но вот две ошибки:

ldi tempA,t5000
rcall l

Да и сложный у вас код, запутанный (как на первый взгляд), я пользуюсь такими п/п:

я же писал что пп для eeprom . это зажержка 5мс между записью блоков.
и потом , зачем Вы приемник делаете ведущим?
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
- - beer_warrior   USART это точка-точка в общем случае. Вам какое ра...   Nov 8 2005, 11:39
- - 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.   Кстати, приемник - слэйв м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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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