roboforum.ru

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

Управление роботом через OR-BT20-115.2

Разработка стандартизированных модулей для домашнего робостроения.
Правила форума
Правила раздела OpenRobotics

Re: Управление роботом через OR-BT20-115.2

Сообщение =DeaD= » 22 июл 2011, 15:05

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

Re: Управление роботом через OR-BT20-115.2

Сообщение S-T-A-L-K-E-R » 22 июл 2011, 15:17

Ну мой предыдущий проект на дельфи с модулем дружит отлично, данные ушли-тутже пришли. А тут не так...
насчет буферизации не знаю... Щас кусок кода предоставлю если найду.

Добавлено спустя 5 минут 44 секунды:
Кусок кода для записи в ком.
Использую:
System.IO.Ports.SerialPort COM = new System.IO.Ports.SerialPort();
System.IO.Ports;

Код: Выделить всёРазвернуть
            COM.PortName = "COM8";
            COM.BaudRate = 115200;
            COM.Parity = Parity.None;
            COM.StopBits = StopBits.One;
            COM.Open();
            COM.WriteLine("l40" + System.Environment.NewLine + (char)(26));
            COM.WriteLine("S40 13 0E 0500 S40 13 0F 07D0 P");
            //COM.WriteLine("S40 13 0E 0500 S40 13 0F 07D0 P" + System.Environment.NewLine + (char)(26));
            //COM.Close();
РОБОТОТЕХНИКА для каждого СВОИМИ РУКАМИ - SERVODROID.RU [SERVODROID.RU-Робототехника для начинающих своими руками]
Аватара пользователя
S-T-A-L-K-E-R
 
Сообщения: 314
Зарегистрирован: 05 ноя 2009, 10:10
Откуда: Санкт-Петербург vs Мурманск
Skype: sergey199100
прог. языки: С, C++, C++++, Delphi, Pascal, Asm

Re: Управление роботом через OR-BT20-115.2

Сообщение =DeaD= » 22 июл 2011, 15:24

WriteLine - Writes the specified string and the NewLine value to the output buffer.


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

Re: Управление роботом через OR-BT20-115.2

Сообщение S-T-A-L-K-E-R » 22 июл 2011, 15:26

Т.е. он помимо моих данных(S40 13 0E 0500 S40 13 0F 07D0 P) запихивает туда содержимое буфера ? Если так то как без WriteLine записать данные в порт ?
РОБОТОТЕХНИКА для каждого СВОИМИ РУКАМИ - SERVODROID.RU [SERVODROID.RU-Робототехника для начинающих своими руками]
Аватара пользователя
S-T-A-L-K-E-R
 
Сообщения: 314
Зарегистрирован: 05 ноя 2009, 10:10
Откуда: Санкт-Петербург vs Мурманск
Skype: sergey199100
прог. языки: С, C++, C++++, Delphi, Pascal, Asm

Re: Управление роботом через OR-BT20-115.2

Сообщение =DeaD= » 22 июл 2011, 15:28

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

Re: Управление роботом через OR-BT20-115.2

Сообщение S-T-A-L-K-E-R » 22 июл 2011, 15:32

На cybeforume тоже молчат... Блин, это печально. Делал по примерам, но в примерах всегда "все работает"...
Может найдется рабочий проект на шарпе терминальной программы ? Мнеб только код глянуть, там все ясно будет.
РОБОТОТЕХНИКА для каждого СВОИМИ РУКАМИ - SERVODROID.RU [SERVODROID.RU-Робототехника для начинающих своими руками]
Аватара пользователя
S-T-A-L-K-E-R
 
Сообщения: 314
Зарегистрирован: 05 ноя 2009, 10:10
Откуда: Санкт-Петербург vs Мурманск
Skype: sergey199100
прог. языки: С, C++, C++++, Delphi, Pascal, Asm

Re: Управление роботом через OR-BT20-115.2

Сообщение S-T-A-L-K-E-R » 14 сен 2011, 01:42

Может кто напомнить, все забыл уже пока не работал с орфой, как выставлять порты в 1 или 0 ?
Пример смотрел, но не вспоминаю как это делал. Были записи в тетради, тетради нет (

Помню что так S40 06 01 S40 02 01 P выставляем 1ку на порте А0. Но не помню что за 06, 01, 02, 01. (пример не вкурил из орфы)
РОБОТОТЕХНИКА для каждого СВОИМИ РУКАМИ - SERVODROID.RU [SERVODROID.RU-Робототехника для начинающих своими руками]
Аватара пользователя
S-T-A-L-K-E-R
 
Сообщения: 314
Зарегистрирован: 05 ноя 2009, 10:10
Откуда: Санкт-Петербург vs Мурманск
Skype: sergey199100
прог. языки: С, C++, C++++, Delphi, Pascal, Asm

Re: Управление роботом через OR-BT20-115.2

Сообщение =DeaD= » 14 сен 2011, 07:37

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

Re: Управление роботом через OR-BT20-115.2

Сообщение MiBBiM » 14 сен 2011, 07:40

S-T-A-L-K-E-R писал(а):Ну мой предыдущий проект на дельфи с модулем дружит отлично, данные ушли-тутже пришли. А тут не так...
насчет буферизации не знаю... Щас кусок кода предоставлю если найду.


http://msdn.microsoft.com/ru-ru/library ... lport.aspx
http://msdn.microsoft.com/ru-ru/library ... tream.aspx
не пробовал, но возможно документация говорит делать это так:
Код: Выделить всёРазвернуть
serialPort.BaseStream.Flush()
второй способ - сделать буфер малым для любой посылки
serialPort.WriteBufferSize = 1
serialPort.WriteBufferSize = 0
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Управление роботом через OR-BT20-115.2

Сообщение S-T-A-L-K-E-R » 14 сен 2011, 10:24

=DeaD= писал(а):06, 02 - номера регистров, вроде DDRA и PORTA соотв., ну или наоборот :)
01 - битовая маска


- как установить 1 на Порте а1 ?
РОБОТОТЕХНИКА для каждого СВОИМИ РУКАМИ - SERVODROID.RU [SERVODROID.RU-Робототехника для начинающих своими руками]
Аватара пользователя
S-T-A-L-K-E-R
 
Сообщения: 314
Зарегистрирован: 05 ноя 2009, 10:10
Откуда: Санкт-Петербург vs Мурманск
Skype: sergey199100
прог. языки: С, C++, C++++, Delphi, Pascal, Asm

Re: Управление роботом через OR-BT20-115.2

Сообщение =DeaD= » 14 сен 2011, 10:27

взять битовую маску не 00000001b (=0x01), а 00000010b (=0x02)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Управление роботом через OR-BT20-115.2

Сообщение S-T-A-L-K-E-R » 14 сен 2011, 10:50

Вот так получается: S40 06 02 P ?
РОБОТОТЕХНИКА для каждого СВОИМИ РУКАМИ - SERVODROID.RU [SERVODROID.RU-Робототехника для начинающих своими руками]
Аватара пользователя
S-T-A-L-K-E-R
 
Сообщения: 314
Зарегистрирован: 05 ноя 2009, 10:10
Откуда: Санкт-Петербург vs Мурманск
Skype: sergey199100
прог. языки: С, C++, C++++, Delphi, Pascal, Asm

Re: Управление роботом через OR-BT20-115.2

Сообщение =DeaD= » 14 сен 2011, 10:57

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

Re: Управление роботом через OR-BT20-115.2

Сообщение S-T-A-L-K-E-R » 14 сен 2011, 11:01

Пардон, я не с той ноги встал -
Выставить на А1 - лог 1: S40 06(DDR) 01 S40 02(PORTA) 02 P
Так ?
РОБОТОТЕХНИКА для каждого СВОИМИ РУКАМИ - SERVODROID.RU [SERVODROID.RU-Робототехника для начинающих своими руками]
Аватара пользователя
S-T-A-L-K-E-R
 
Сообщения: 314
Зарегистрирован: 05 ноя 2009, 10:10
Откуда: Санкт-Петербург vs Мурманск
Skype: sergey199100
прог. языки: С, C++, C++++, Delphi, Pascal, Asm

Re: Управление роботом через OR-BT20-115.2

Сообщение =DeaD= » 14 сен 2011, 11:09

S40 06 02 S40 02 02 P

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

Пред.След.

Вернуться в Open Robotics

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

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