Модераторы: Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мышь COM, использовать COM мышь как датчик движени 
:(
    Опции темы
СЭНСЭЙ
Дата 10.6.2014, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Есть такая задача:
Подключить мышь по КОМ порту к компьютеру
и считывать данные передаваемые мышью.

Есть КОМ шариковая мышь. На 586 под ДОС 6,22 работает
На Виндовс 98 не работет никак.
Есть программа для работы с КОМ портами.
Почтила про протокол обмена данными с мышью http://procoder.info/index.php/entry/issle...s2-dlya-myshki/
Пробовал напрямую передавать данные в порт мыши
Мышь не отвечает ничего.

Помогите

Это сообщение отредактировал(а) СЭНСЭЙ - 10.6.2014, 13:07
PM MAIL   Вверх
tzirechnoy
Дата 10.6.2014, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Ну, во-первых, у COM порта есть ещё скорость, которую надо задать правильно чтобы связь с устройством была. Для мышэй типично -- 1200,7,n,1 или 1200,8,n,1. Вроде я ещё помню где-то видел 9600,8,n,1, но это можэт меня и память подводит.

Во-вторых, у PS/2 мышэй протокол несколько отличается от COM. Идеи, в общем, те жэ (2-4 байта на каждое действие -- перемещение, нажатие/отпускание кнопки, с фиксированным расположэнием полей со смещением и нажатыми кнопками), и если хоть что-то от мышы получите -- то понять что это приходит скорее всего не составит труда. Но можэте поискать протокол MSmouse или MouseSystems.

Добавлено через 5 минут и 17 секунд
А, да, в 98-й можно во-первых поискать и поставить логитековские дрова мышы, а во-вторых поставить дрова serial port mouse через control panel -> add/remove hardware или как-то так.
Точнее, лучшэ наоборот -- сначала попробовать поставить виндовые дрова, а потом можно начинать искать логитэковские.

Впрочем, если установите этот драйвер -- то мышь будет использоваться для движэния курсора, ничего более полезного из неё получить особенно нельзя будет.
PM MAIL   Вверх
СЭНСЭЙ
Дата 10.6.2014, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Дрова нужны для того что бы научить ОС протоколу общения с мышью, как я понимаю.
А без дров можно как то заставить мышь работать?
Просто в системе есть монополия на порты. Если установить дрова и заставить работать мышь от ком порта, то подключиться к этому порту уже будет нельзя.

У меня есть компонент для делфи который позволяет работать с СОМ портами. И он неплохо работает. Я его использую для работы с одни прибором и никаких заморочек со скоростью у меня не было. Во всяком случае это решается подбором из 2х - 3х вариантов.

Уточняю: я хочу использовать шариковую мышь как датчик движения. То есть фиксировать перемещение светодиодными датчиками элементов моей конструкции.

Я прочитал что у всех мышей протокол обмена идентичен. Особенно в момент инициализации мыши. Хост посылает мыши 255, мышь в ответ должна послать ответ. Но я ответа так и не получил.
Попробую еще поиграться со скоростью.
PM MAIL   Вверх
СЭНСЭЙ
Дата 11.6.2014, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Настроил порт на 1200 бод, 1 стоповый бит и без четности
но мышь не ответила.
Печалька.
PM MAIL   Вверх
tzirechnoy
Дата 11.6.2014, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: нет
Всего: 16



Цитата
Настроил порт на 1200 бод, 1 стоповый бит и без четности


1200,_7_,n,1. Самый распространённый протокол ещё 7 бит в посылке требовал.

Кроме того, посмотрел сейчас -- да, мышы жэ ещё на RTS/DTR реагируют. При этом это не hardware flow control -- например, взведение RTS обычно просто требуется для питания и вызывает как раз init мышы. А DTR вроде переключает 3-байт msmouse/5-байт mousesystems. А можэт наоборот.

Далее, не смотри ты на этот 0xFF reset -- самый простой способ проверить работу мышки -- начать читать данные и её подвигать по столу. Если скорости правильные и мыша жывая -- то байтики к тебе пойдут.


Ну и да, нет особого смысла играться с этим в программе на delphi -- есть жэ всякие hex-терминалки, avrport там и похожые. Гораздо проще, учитывая сколько всего по мелочи надо учесть при работе с COM-портом в delphi из windows, и сколько в COM-портах есть ручек RTS/DTR/bit/flow control/timeout итд, которые в avrport нажымаются одним движэнием мышы, а в своей программе вместо этого придётся разбираться со всякими TDCB, и когда его и какими константами кормить.

PS Ну и да, шариковая мышь сейчас -- раритет. То есть поиграться для общего развития можно -- но в своих поделках, на мой взгляд, имеет прямой смысл использовать просто серийные оптопрерыватели и подключать их к контроллеру.

Добавлено через 1 минуту и 32 секунды
PPS А, и да, можэшь ещё взять какой-нибудь маленький линукс и в gpm посмотреть -- как, заработает или нет. Если да -- то и протокол в логах gpm выяснишь, и пример кода будет, и вобще писать под линукс заметно удобней, чем под 98.
PM MAIL   Вверх
СЭНСЭЙ
Дата 13.6.2014, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Я слушаю порт и двигаю мышью ,но ни одного байта от нее не идет.
Попробую еще осцилографом посмотреть, но врядли.

Повтрюсь - у меня есть компонент для делфи для работы с СОМ портом.
Он работает довольно сносно.
Если бы удалось мышь приручить то не нужно было бы контроллер покупать и датчики.
Я в схемотехнике не силен. Мне трудно освоить мат часть микроконтроллеров.

Но кажется придется.
PM MAIL   Вверх
Кальцин5Андрей
Дата 26.4.2018, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 26.4.2018

Репутация: нет
Всего: нет



в 98-й можно во-первых поискать и поставить логитековские дрова мышы, а во-вторых поставить дрова serial port mouse через control panel -> add/remove hardware или как-то так.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разное (электроника) | Следующая тема »


 




[ Время генерации скрипта: 0.1017 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.