Russian Qt Forum
Ноябрь 25, 2024, 05:03
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
ComPort+Монетоприемник
Страниц:
1
...
3
4
[
5
]
6
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: ComPort+Монетоприемник (Прочитано 53903 раз)
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: ComPort+Монетоприемник
«
Ответ #60 :
Ноябрь 26, 2007, 14:45 »
Цитата: Вячеслав от Ноябрь 26, 2007, 14:14
2der На железку щаз гляну - ради интереса
По поводу плат - в курсах ( в столе штук 5 валяеться
) Но 485 ведь тож последовательный ( или там можно дискреты ловить ? )
Вот есть описание rs485:
http://www.gaw.ru/html.cgi/txt/interface/rs485/start.htm
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Вячеслав
Гость
Re: ComPort+Монетоприемник
«
Ответ #61 :
Ноябрь 26, 2007, 14:55 »
2 pastor спасиб - гугл + опера рулят
Это была вторая ссылка
Я просто не в теме - 485 может ловить одиночные посылки или нет
Записан
der
Гость
Re: ComPort+Монетоприемник
«
Ответ #62 :
Ноябрь 26, 2007, 15:03 »
2 Вячеслав
Вообще, может случиться, что АС3-М такой умный, что пропускает только последовательные данные, а подобные импульсы нет... Но тогда можно взять прибор без автоматического переключения направления. Я просто привёл пример девайса, преобразующего 0..5В в -12..+12В или сколько там. Естественно TxD Овна нужно подключать к служебной ноге порта, а не к RxD. Просто проблема преобразования напряжения является частью проблемы преобразования RS485-RS232.
Вообще проблема стандартная, и решений масса, например, микрухи-преобразователи напряжения.
P.S.:
Цитата: Вячеслав от Ноябрь 26, 2007, 14:55
2 pastor спасиб - гугл + опера рулят
Это была вторая ссылка
Я просто не в теме - 485 может ловить одиночные посылки или нет
Сходил, но просветление не наступило... ?я чото п
Записан
Вячеслав
Гость
Re: ComPort+Монетоприемник
«
Ответ #63 :
Ноябрь 26, 2007, 15:28 »
2 der _лично мне_ проще взять мегу 8 с максиной с сделать нормальный переход с дискретки на rs/usb , и не изобретать многоразовые грабли
2 all Интересно тема в итоге лидером по постам будет ?
Записан
IGHOR
Крякер
Offline
Сообщений: 390
Re: ComPort+Монетоприемник
«
Ответ #64 :
Ноябрь 26, 2007, 19:02 »
На винде из Builder C++ ловлю ивент компорта,
он реагирует на замыкание двух ножек..
Можна прикрутить реле, что при 5 вольт оно срабатывает и замыкает те ножки...
Тогда все будет работать отлично. Но как читать ивентом компорт на Линуксе ?
Простое читание занимает 3 секунды в проге.. и она зависает в это время.
Мне нужно по возможности самому разобратся с монетоприемником,
потому что таких апаратов будет штук 40.. а каждая платаа стоит 50$
Записан
IGHOR
Крякер
Offline
Сообщений: 390
Re: ComPort+Монетоприемник
«
Ответ #65 :
Ноябрь 26, 2007, 19:04 »
Цитата: der от Ноябрь 21, 2007, 17:28
Цитата: IGHOR от Ноябрь 21, 2007, 16:28
Это интересно.. но я в асемблере не очень.. как это использовать ? можно, кусок кода в пример?
Ассемблер тут ни при чём - я же сказал, два системных вызова: inb и outb.
Вот здесь есть пример подачи на порт прямоулольных импульсов:
http://rt.wiki.kernel.org/index.php/Squarewave-example
Код включает переключение планировщика и приоритеты - это нужно выкинуть.
Соответственно, при помощи оставшегося кода и данной мной ссылки несложно сочинить что-нибудь своё с участием COM или LPT за недельку неупорного труда.
Как в сдесь разобратся ? Обясните пожалуйста как оно работает.
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: ComPort+Монетоприемник
«
Ответ #66 :
Ноябрь 26, 2007, 19:27 »
Цитата: IGHOR от Ноябрь 26, 2007, 19:02
На винде из Builder C++ ловлю ивент компорта,
он реагирует на замыкание двух ножек..
Можна прикрутить реле, что при 5 вольт оно срабатывает и замыкает те ножки...
Тогда все будет работать отлично. Но как читать ивентом компорт на Линуксе ?
В данной реализации либы имхо невозможно отследить определённые эвенты. В винде это можно сделать, переделав немного либу и отслеживать следующие события, т.е. сделав либу для работы с портом в асинхронном режиме:
EV_BREAK Состояние разрыва приемной линии
EV_CTS Изменение состояния линии CTS
EV_DSR Изменение состояния линии DSR
EV_ERR Ошибка обрамления, перебега или четности
EV_RING Входящий звонок на модем (сигнал на линии RI порта)
EV_RLSD Изменение состояния линии RLSD (DCD)
EV_RXCHAR Символ принят и помещен в приемный буфер
EV_RXFLAG Принят символ заданый полем EvtChar структуры DCB использованой для настройки режимов работы порта
EV_TXEMPTY Из буфера передачи передан последний символ
Цитата: IGHOR от Ноябрь 26, 2007, 19:02
Простое читание занимает 3 секунды в проге.. и она зависает в это время.
Проблему с зависанием можно решить путяём добавления потока, в котором будет опрашивться порт
Цитата: IGHOR от Ноябрь 26, 2007, 19:02
Мне нужно по возможности самому разобратся с монетоприемником,
потому что таких апаратов будет штук 40.. а каждая платаа стоит 50$
Можно купить этот девайс. С ним будет идти принципиалка. По принципиалке самому соорудить сколько нужно девайсов
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: ComPort+Монетоприемник
«
Ответ #67 :
Ноябрь 26, 2007, 19:51 »
Вот есть статейка, где рассмотрена работа с последовательными портами в линукс
http://linuxportal.ru/entry.php/2171_0_3_0_C/
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Вячеслав
Гость
Re: ComPort+Монетоприемник
«
Ответ #68 :
Ноябрь 26, 2007, 21:21 »
Цитата: IGHOR от Ноябрь 26, 2007, 19:02
На винде из Builder C++ ловлю ивент компорта,
он реагирует на замыкание двух ножек..
Можна прикрутить реле, что при 5 вольт оно срабатывает и замыкает те ножки...
Тогда все будет работать отлично. Но как читать ивентом компорт на Линуксе ?
Простое читание занимает 3 секунды в проге.. и она зависает в это время.
Мне нужно по возможности самому разобратся с монетоприемником,
потому что таких апаратов будет штук 40.. а каждая платаа стоит 50$
Тогда-уж проще максину присобачить(чего-нибудь типа max232 ) и релюх ненадо
2 IGHOR , кинь в личку более подробно чего изобретаешь - постораюсь помочь ....
Записан
IGHOR
Крякер
Offline
Сообщений: 390
Re: ComPort+Монетоприемник
«
Ответ #69 :
Ноябрь 26, 2007, 21:37 »
Цитата: pastor от Ноябрь 26, 2007, 19:51
Вот есть статейка, где рассмотрена работа с последовательными портами в линукс
http://linuxportal.ru/entry.php/2171_0_3_0_C/
Хорошая стаття. нужно разобратся..
Цитата: Вячеслав от Ноябрь 26, 2007, 21:21
Цитата: IGHOR от Ноябрь 26, 2007, 19:02
На винде из Builder C++ ловлю ивент компорта,
он реагирует на замыкание двух ножек..
Можна прикрутить реле, что при 5 вольт оно срабатывает и замыкает те ножки...
Тогда все будет работать отлично. Но как читать ивентом компорт на Линуксе ?
Простое читание занимает 3 секунды в проге.. и она зависает в это время.
Мне нужно по возможности самому разобратся с монетоприемником,
потому что таких апаратов будет штук 40.. а каждая платаа стоит 50$
Тогда-уж проще максину присобачить(чего-нибудь типа max232 ) и релюх ненадо
2 IGHOR , кинь в личку более подробно чего изобретаешь - постораюсь помочь ....
что такое max232 ? и с чем его готовят ?
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: ComPort+Монетоприемник
«
Ответ #70 :
Ноябрь 26, 2007, 21:41 »
Цитата: IGHOR от Ноябрь 26, 2007, 21:37
что такое max232 ? и с чем его готовят ?
Прям как на ЛОРе повелось по ссылка не ходить
Цитата: pastor
2 IGHOR: Можешь ознакомиться со стандартом RS232. Там также описана одна из микросхем преобразования интерфейса
http://www.gaw.ru/html.cgi/txt/interface/rs232/start.htm
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
IGHOR
Крякер
Offline
Сообщений: 390
Re: ComPort+Монетоприемник
«
Ответ #71 :
Ноябрь 26, 2007, 22:36 »
Но всеравно не понимаю, max232 это просто усилитель сигнала COM ?
как его использовать в моем случяе ?
сколько оно стоит ?
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: ComPort+Монетоприемник
«
Ответ #72 :
Ноябрь 26, 2007, 23:19 »
Цитата: IGHOR от Ноябрь 26, 2007, 22:36
Но всеравно не понимаю, max232 это просто усилитель сигнала COM ?
как его использовать в моем случяе ?
сколько оно стоит ?
max232 это микруха, которая прежназначена для создания интерфейса RS-232. Она являеться чуть ли не мировым стандартом
2 IGHOR: Скажи честно, разве так тяжело глянуть в гугле? Скачай спецификацию на неё, почитай. Есть много железячный форумов. На этой микросхеме за 20 лет её существования собраны многие девайсы, принципиалки которых можно найти в инете. Должно буть что-то похожее. Это форум по Qt а не по электронике
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
IGHOR
Крякер
Offline
Сообщений: 390
Re: ComPort+Монетоприемник
«
Ответ #73 :
Ноябрь 27, 2007, 01:22 »
ОК, с темы не сбиваемся,
в итоге мне всеравно прийдется висеть на компорте.
в примере
Цитата: pastor от Ноябрь 26, 2007, 19:51
http://linuxportal.ru/entry.php/2171_0_3_0_C/
есть такая строчка для асинхронного читания компорта
open(MODEMDEVICE, O_RDWR | O_NOCTTY | O_NONBLOCK);
чтобы мне не переписывать весь код компорта можно ли както чтото подобное использовать в qextserialport ?
в параметре его open() чтото задать ?
O_RDWR | O_NOCTTY | O_NONBLOCK там не катит..
Цитата: pastor от Ноябрь 26, 2007, 19:27
Цитата: IGHOR от Ноябрь 26, 2007, 19:02
Простое читание занимает 3 секунды в проге.. и она зависает в это время.
Проблему с зависанием можно решить путяём добавления потока, в котором будет опрашивться порт
а можно по подробнее ? как поток добавить ?
«
Последнее редактирование: Ноябрь 27, 2007, 01:28 от IGHOR
»
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: ComPort+Монетоприемник
«
Ответ #74 :
Ноябрь 27, 2007, 02:02 »
Цитата: IGHOR от Ноябрь 27, 2007, 01:22
чтобы мне не переписывать весь код компорта можно ли както чтото подобное использовать в qextserialport ?
в параметре его open() чтото задать ?
O_RDWR | O_NOCTTY | O_NONBLOCK там не катит..
Нет, так не пойдёт. В posix_qextserialport работа с портом идёт через QFile
Цитата: IGHOR от Ноябрь 27, 2007, 01:22
а можно по подробнее ? как поток добавить ?
Смотри QThread и экзамплы связанные с QThread
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц:
1
...
3
4
[
5
]
6
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...