roboforum.ru

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

задержка Serial.print ?

Как собрать и запрограммировать робота на Arduino(Freeduino, Roboduino, Seeduino ...). Используем Wiring и Processing.

задержка Serial.print ?

Сообщение Myp » 22 дек 2010, 10:35

в программе вывожу данные через Serial.print
в итоге имею то что программа уже 10 раз в цикле выполняется, а в терминал только только показания от первого цикла доходят.
короче такое ощущение что то что я вывожу в порт гдето буферизуется и потихоньку выводится.
вот такой простой код
Код: Выделить всёРазвернуть
Servo1.write(0);                  // send servo to 0 degree position
  delay(2000);                      // give servo enough time to get there
  for (int i=0; i<=180; i++){
    Servo1.write(i);                // send next degree pulse to servo
    delay(50);                      // let things settle down
    Serial.print(i);

в итоге серва уже давно повернулась и остановилась а данные в терминале всё идут и идут.
если повторять его в цикле то через некоторое количество минут происходит какойто "срыв" и данные в теминал идут рывками и значения скачут.
даже скорость 115200 не помогает.
в чём косяк?
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: задержка Serial.print ?

Сообщение dccharacter » 22 дек 2010, 13:12

Ээээ. Цикл не закрыт? "}"
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: задержка Serial.print ?

Сообщение Myp » 22 дек 2010, 13:31

ага, и инклюда нета и т.д.
это просто кусок кода для иллюстрации чего я делаю )

серва согласно этому коду отрабатывает правильно а вот в компорт значения выводятся с задержкой и чем дальше тем дольше задержка
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: задержка Serial.print ?

Сообщение =DeaD= » 22 дек 2010, 13:37

Надо смотреть исходный код Serial, возможно там реально из буфера по прерыванию тягается всё, а прерывание редко.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: задержка Serial.print ?

Сообщение dccharacter » 22 дек 2010, 13:41

У меня все работало без бубнов. Посмотри осциллографом как данные идут, может терминал так хреново отображает (ну т.е. проблема на стороне коспьютера). А загружается скетч нормально в ардуину???

О, кстати, лучше чем осцилл - возьми скетч из екзаплов, который с сериалом работает и посмотри на его поведение.

Добавлено спустя 2 минуты 47 секунд:
=DeaD= писал(а):Надо смотреть исходный код Serial, возможно там реально из буфера по прерыванию тягается всё, а прерывание редко.

Да чего его смотреть, надо сначала проблему локализовать, а потом уже в исходниках дефолтных библиотек копаться.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: задержка Serial.print ?

Сообщение Myp » 22 дек 2010, 15:00

небыло печали - купила баба порося ORduino ...

хотел ардуину заиметь, чтоб провода понавтыкал в макетку и всё.
так ведь стало хуже чем самому всё програмить.

ЗЫ
ордуина имеет на борту преобразователь usb-uart и в системе виртуальный компорт в который осциллографом не потыкаешь.

раз говорят что компорт в ОРдуине должен работать нормально то буду копать в сторону глюков на компе.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: задержка Serial.print ?

Сообщение =DeaD= » 22 дек 2010, 15:11

Осциллографом можно тыкать в пины RX/TX, если осцик реальный.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: задержка Serial.print ?

Сообщение dccharacter » 22 дек 2010, 16:04

надо взять скетч из примеров...
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: задержка Serial.print ?

Сообщение Myp » 23 дек 2010, 11:41

короче это ардуиновский встроенный терминал глючит
адски просто тормозит при приёме данных по компорту, выводит данные со скоростью печатной машинки.
посторонний терминал с радостью выдаёт мне простыни данных которые я даже прочитать не успеваю.
западло, удобно прям в IDE ардуины терминалом пользоваться...
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: задержка Serial.print ?

Сообщение dccharacter » 23 дек 2010, 11:57

Переставить IDE и Java

Терминал, кстати, поганый. Можно взять PuTTy, но там тоже поганый :-)

Самый классный, из тех, которые я видел - терминал PicKit. Но есть еще круче - только у меня не взлетело, потому что ось 64 бит. Терминал от SysInternals: http://technet.microsoft.com/en-us/sysi ... s/bb896644
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: задержка Serial.print ?

Сообщение Myp » 23 дек 2010, 12:23

ню ню, вот пользователю ардуины тока портмоном и пользоваться :D
нам ардуино юзерам надо чтоб нажал кнопочку в гуи и всё, цифирки побежали.

кстати это так и должно быть? когда терминал запускаю ордуино ребутится...
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: задержка Serial.print ?

Сообщение dccharacter » 23 дек 2010, 12:29

Myp писал(а):ню ню, вот пользователю ардуины тока портмоном и пользоваться :D
нам ардуино юзерам надо чтоб нажал кнопочку в гуи и всё, цифирки побежали.

кстати это так и должно быть? когда терминал запускаю ордуино ребутится...


Нет, чего-то не то...
Если просто цифирки - путти вещь хорошая....
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: задержка Serial.print ?

Сообщение Myp » 23 дек 2010, 12:38

и стандартный терминал ребутит и обычный виндовый терминал тоже ребутит.
жму кнопку соединиться и ордуина ребутится.
отключается нормально.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: задержка Serial.print ?

Сообщение dccharacter » 23 дек 2010, 13:08

Myp писал(а):и стандартный терминал ребутит и обычный виндовый терминал тоже ребутит.
жму кнопку соединиться и ордуина ребутится.
отключается нормально.

дрова, ява, ардуино иде...
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.
Аватара пользователя
dccharacter
 
Сообщения: 4995
Зарегистрирован: 10 дек 2010, 13:16
Откуда: Красногорск МО
прог. языки: C, Python, wiring/processing
ФИО: Андрей

Re: задержка Serial.print ?

Сообщение =DeaD= » 23 дек 2010, 13:16

Вообще ребут дуины должен быть по сигналу с DTR - это нужно для бутлоадера. Может быть терминал его дергает - тогда перегружаться будет.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

След.

Вернуться в Arduino и другие Xduino

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0