roboforum.ru

Технический форум по робототехнике.

пересылка данных по усарт

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

пересылка данных по усарт

Сообщение к561ЛА7 » 29 мар 2011, 23:49

Джентльмены!

в бесконечном цикле "слейва" пишем

Код: Выделить всёРазвернуть
putchar('R');       // шлем как взадаче 6
gdvix = getchar();
if (getchar() == 'G'){
               
open0 = 100; // присваиваем число переменной open0
  };


В бесконечном цикле "мастера" пишем

Код: Выделить всёРазвернуть
gdvix = getchar();
if (getchar() == 'R'){
           
putchar('G');       //
   };   


тоесть слейв шлет R мастеру а мастер как только получил R шлет слейву G
и так по этой задумке они воде бы должны друг другу слать эти символы
со скоростью 250000 бод
начальный код настроил кодвизардом

(правда еще оба сваливаются на обработку небольшого внешнего прерывания 100 раз в секунду)

Будет ли эта схема работать? У меня почему-то она не идет
Последний раз редактировалось к561ЛА7 30 мар 2011, 00:23, всего редактировалось 1 раз.
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: пересылка данных по усарт

Сообщение Сергей » 30 мар 2011, 00:15

Поправь сообщение - добавить тег code, сделай текст читабельным и сформулируй нормально вопрос, ибо уже в который раз создаешь тему не изучив то, с чем работаешь.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: пересылка данных по усарт

Сообщение к561ЛА7 » 30 мар 2011, 00:34

Человека, "изучившего темы", видно не по тому, как он их создает, а по тому, как он в них отвечает.
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: пересылка данных по усарт

Сообщение Raskolin » 30 мар 2011, 04:50

Судя по коду slave отправляет master символ R. Мастер принемает и записывает в переменную gdvix. И после они оба чего то ждут. Но никто друг другу ничего не отправляет. Если нужен именно такой расклад, то надо убрать строчки gdvix = getchar(); и включать сначала мастер, а потом слэйв.
Raskolin
 
Сообщения: 20
Зарегистрирован: 22 мар 2011, 01:02

Re: пересылка данных по усарт

Сообщение Radist » 30 мар 2011, 05:34

Зачем мудрить? Слэйвы должны работать по запросу мастера. Запрос должен содержать адрес слэйва и контрольную сумму.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: пересылка данных по усарт

Сообщение boez » 30 мар 2011, 12:25

Теоретически должна, но после первой ошибки передачи они оба заткнутся на getchar и будут друг друга ждать. Мастеру нужен некий таймаут, если слейв не ответил - то повторить посылку символа. То есть вместо getchar надо что-то неблокирующее использовать. Я обычно работу с уартом пишу сам, на прерываниях, так что по stdio на avr не подскажу как правильно сделать.
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

Re: пересылка данных по усарт

Сообщение к561ЛА7 » 30 мар 2011, 15:05

задумка - то реализовать удаленное фазовое регулирование мощности
от мастера слейву. Но слейв "синхронизирован" по переходу фаза-ноль, которое может не совпадать с переходом через ноль у мастера. Поэтому слейв , вродебы, должен , по получении прерывания от перехода фаза-ноль послать запрос мастеру, а тот, получив запрос, тут же оправить ему необходимые числа, итак 100 раз всекунду
попробывал свтавитьь этот код в обработчик прерывания - не идет
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: пересылка данных по усарт

Сообщение Duhas » 31 мар 2011, 01:29

а никак нельзя мастером спамить стабильно значение фазы, а слейвом уже отрабатывать... и чорт с ним если оно вдруг на 1 период рассогласуется ?
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: пересылка данных по усарт

Сообщение Radist » 31 мар 2011, 06:10

Есть оптосимисторы с "zero-cross". Их включаешь/выключаешь когда хочешь, а срабатывают они при переходе через ноль. Используйте их и будет вам счастье. Навскидку MOC3082. Сам он маломощный, но к нему можно поставить внешний мощный симистор.
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: пересылка данных по усарт

Сообщение к561ЛА7 » 31 мар 2011, 13:32

мастером нельзя, фазы могут быть разные. И зеро кросс тоже нельзя, регулирование фазовое.
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола

Re: пересылка данных по усарт

Сообщение Radist » 31 мар 2011, 13:36

А что за объект управления? Кто является конечной нагрузкой? Этой нагрузке подавай все полупериоды, хоть и обгрызенные, но не дай бог пропустить один?
Аватара пользователя
Radist
 
Сообщения: 2253
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

Re: пересылка данных по усарт

Сообщение к561ЛА7 » 31 мар 2011, 13:42

А, понял ... навероно можно. только пока не вьехал как
Ваш IP-адрес 85.140.5.459 был внесён в черный список и заблокирован. Для получения дополнительной информации перейдите по ссылке http://www.spamhaus.org/query/bl?ip=85.140.5.459.
Аватара пользователя
к561ЛА7
 
Сообщения: 404
Зарегистрирован: 08 дек 2009, 19:21
Откуда: Й-Ола


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 17