Описание: Работа с периферией и портами. |
Поиск в теме | Версия для печати |
Admin |
Отправлено: 10 Декабря, 2009 - 01:57:47
|
Администратор
Сообщений всего: 897
Дата рег-ции: Май 2006
|
-dead- пишет:Но если это разовая задача, подцепить и поиграть - тогда конечно не надо никакой унификации.
Да, приблизительно так, наверное. Когда человек что-то делает сам, то испытывает удовольствие от процесса. Может быть, он попробует сам придумать свою систему команд. Поэтому, мне кажется, если приделывать к GameLogo управление COM-портом, то стоит оставить возможность для самостоятельного творчества.
Проблемы унификации и не только мне видятся совсем в другом: скорость (передачи и опроса), таймауты, безглючная реализация под различные Win-среды (Microsoft чудесная компания)...
Кроме того, в GameLogo только один тип переменных - числовой. |
|
|
-dead- |
Отправлено: 10 Декабря, 2009 - 14:17:07
|
Президент
Сообщений всего: 966
Дата рег-ции: Февр. 2009
|
Admin пишет:Когда человек что-то делает сам, то испытывает удовольствие от процесса. Может быть, он попробует сам придумать свою систему команд. Поэтому, мне кажется, если приделывать к GameLogo управление COM-портом, то стоит оставить возможность для самостоятельного творчества.
Хм, а GameLogo выдаёт конечное число команд? Можно их типы перечислить? В принципе можно шаблоны команд задать во внешнем файле с номером COM-порта и настройками его.
Admin пишет:Проблемы унификации и не только мне видятся совсем в другом: скорость (передачи и опроса), таймауты, безглючная реализация под различные Win-среды (Microsoft чудесная компания)...
Кроме того, в GameLogo только один тип переменных - числовой.
А в чем у вас GameLogo написан?
(Добавление)
Под C++ Builder компонента SlyComm вроде почти везде где пробовал работает.(Отредактировано автором: 10 Декабря, 2009 - 16:23:27) |
|
|
-dead- |
Отправлено: 10 Декабря, 2009 - 15:47:52
|
Президент
Сообщений всего: 966
Дата рег-ции: Февр. 2009
|
Как я себе вижу этот конфигурационный файлик (думаю можно принять параметры 8N1 как стандарт, менять только скорость и номер порта):
COM_PORT=4
COM_SPEED=115200
POWER_ON="power=1"
POWER_OFF="power=0"
BRUSH_ON="brush=1\n"
BRUSH_OFF="brush=0\n"
ROTATE_LEFT="rotate(-%d)\n",k=1,b=0
ROTATE_RIGHT="rotate(%d)\n",k=1,b=0
MOVE_FORWARD="move(%d)\n",k=1,b=0
MOVE_BACKWARD="move(-%d)\n",k=1,b=0
k и b - коэффициенты позволяющие нормализовать параметры по формуле выхода y=kx+b
и внутри строки разрешаются описания параметров типа %d, %h или в виде %3.2d, т.е. 3 знака обязательно должны быть до запятой и 2 после запятой (например 020.45) или в упрощенном виде %4d, т.е. 4 знака обязательно должны быть (например 0024).
(Добавление)
nest пишет:(своё сообщение я удалил что бы уменьшить "цирк", остальное - на усмотрение каждого).
Я тоже, "Sector clear!" (Отредактировано автором: 10 Декабря, 2009 - 16:25:51) |
|
|
Admin |
Отправлено: 11 Декабря, 2009 - 00:28:22
|
Администратор
Сообщений всего: 897
Дата рег-ции: Май 2006
|
-dead- пишет:Хм, а GameLogo выдаёт конечное число команд? Можно их типы перечислить?
Пока никаких команд он не выдает.
-dead- пишет:Под C++ Builder компонента SlyComm вроде почти везде где пробовал работает.
Можеть быть. Надо попробовать под билдером сделать dll, но, честно говоря, я последнее время ни в чем не уверен. Такая чехарда пошла... В XP что-нибудь отладишь, потом смотришь, в Висте нормально не работает ничего. Теперь еще эта семерка косая...
----
8,1 - это да, плюс отсутствие контроля четности, скорость по умолчанию поставить 9600, наверное.
А конфигурационный файл я что-то вообще в толк взять никак не могу. Зачем все это? Если мне, например, нужно обеспечить связь с каким-нибудь устройством через COM, то что я должен буду делать с таким набором команд?
Как-то все видится несколько проще и гибче. Если отвлечься от настроек, то по сути надо реализовать две простые команды - ПОСЛАТЬ и ПРИНЯТЬ.
----
Слева вверху есть две выезжающих панельки. Одна побольше, другая поменьше. Они когда-то были сделаны под LPT и COM. LPT был реализован двумя рядами загорающихся кнопочек. Портом можно было управлять программно, а можно - просто нажимая на кнопочки.
Вот так это выглядело в программе.
переменная х
старт:
повторить для х = 1 до 5 {
выход х = 1
пауза 50
выход х = 0
пауза 50
}
повторить для х = 4 до 2 шаг -1 {
выход х = 1
пауза 50
выход х = 0
пауза 50
}
перейти к старт
Прикреплено изображение
|
|
|
|
Поиск в теме | Версия для печати |
Страниц (2): [1] 2 » |
« GameLOGO » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
|
|
|
|