![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
COM-порт. Вывод информации на него. [D7, WinXP]
MASTAFA © (2007-06-20 10:01:00)Собственно, хочу узнать у знатоков, как можно выводить информацию на COM-порт? И в частности было бы неплохо если бы вы подкинули какой-нибудь примерчик с выводом числовой информации на него.
tesseract (2007-06-25 17:14:00) [1]
> очитав учебник по-русскому, почитай любую книжку по аппаратным
> средствам и узнай насчет байт-ориентрованности асинхронного
> режима и бит-ориентированности синхронного режима.
По ОЦС было 4. Кое-что ещё не забыл, за "байт-ориентированность" сразу послали бы на пересдачу.
"Режим" вообще странен, устройство оно или использует строб или не использует.
> Спасибо уже ответили.
Я по последнему посту отвечал.
> Это открытие заслуживает шнобелевской премии :)
Ага причём тут 8-ми разрядный счётчик подключённый к генератору импульсов и синхронность?
> Нездоровое самолюбие одним словом.
Нездоровое желание не учиться четырьмя словами.
MASTAFA (2007-06-25 17:09:00) [2]ок
Anatoly Podgoretsky (2007-06-25 17:08:00) [3]Не путай круглое с красным.
Синхронный режим работы с синронным режимом передачи.
MASTAFA (2007-06-25 17:02:00) [4]Сам почитай...
Для начала учебник по русскому. Согласуй предложения так, чтобы их можно было понять без телепатии.
> RS232 - последовательный интерфейс, он не параллельный,
> но частоты передачи у него строго определённая из доступных,
> синхронный он или нет?
Что ты имел ввиду? Думаешь прочитав про стандарт RS-232 и найдя там слово "последовательный" ты что-то понял? Причем здесь то, что COM-порт -порт последовательный?
> Синхронная функция не возвращаеться до окончания операции,
> асинхронная возвращаеться сразу. GetLastError вернёт ERROR_IO_PENDING.
> дальше сам думай, как ждать результата.
Спасибо уже ответили.
> Не путай тёплого с мягким, причём тут старт стоп/бит и синхронность/
> асинхронность?
Почитав учебник по-русскому, почитай любую книжку по аппаратным средствам и узнай насчет байт-ориентрованности асинхронного режима и бит-ориентированности синхронного режима. Я же ничего не говорил про мою аппаратную задачу, может мне надо передать на ЦАП 11 бит информации подряд? А как мне это сделать в асинхронном режиме минимальная единица передаваемой информации которого 1 байт? То есть у меня еще влезут левые старт- и стоп-биты.
> ЗЫ: И вообще почитай хоть что нибудь, а не гони на умных
> людей.
Какими качествами, по-твоему мнению, обладают умные люди? По-моему на форуме - это реальная оценка своих знаний и ответы только по теме. А если уж невтерпеж написать что-нибудь, то хотя бы писали без фраз типа : "ты заблуждаешься". Написал бы: "... по-моему субъективному мнению",- было гораздо лучше. :D. Нездоровое самолюбие одним словом.
Все спасибо за ответы на вопросы (реально помогли), тема закрыта.
Германн (2007-06-25 17:00:00) [5]
> Асинхронный режим в аппаратном смысле сильно отличается
> от синхронного. В синхронном режиме нет ни старт-бита, ни
> стоп-бита, ни ошибок передачи, по типу ошибк паритета и
> пр. Короче говоря синхронный режим - это в принципе реализация
> работы простейшего 8-разрядного генератора.
Это открытие заслуживает шнобелевской премии :)
tesseract (2007-06-25 16:19:00) [6]
> И вообще если я написал, что мне надо знать отличие синхронного
> от несинхронного, то если у вас есть время и желание ответьте
> на него максимально точно и корректно.
Синхронная функция не возвращаеться до окончания операции, асинхронная возвращаеться сразу. GetLastError вернёт ERROR_IO_PENDING. дальше сам думай, как ждать результата.
> Асинхронный режим в аппаратном смысле сильно отличается
> от синхронного. В синхронном режиме нет ни старт-бита, ни стоп-бита, ни > ошибок передачи, по типу ошибки паритета и пр.
Не путай тёплого с мягким, причём тут старт стоп/бит и синхронность/ асинхронность? А ошибки паритета вообще не в тему.
RS232 - последовательный интерфейс, он не параллельный, но частоты передачи у него строго определённая из доступных, синхронный он или нет?
ЗЫ: И вообще почитай хоть что нибудь, а не гони на умных людей.
mastafa (2007-06-25 15:57:00) [7]
> С проблемами связанными с использованием доппотоков недозрелыми
> желтыми земляными червяками
!!! откровенная грубость
> Как то: программа начинает через несколько часовработы
> заявлять, что не может открыть порт, потому что он занят
О каких часах идет речь? Я же написал, что прога передает всего лишь несколько импульсов. На это уйдет ровно столько времени сколько я захочу.
> Согласен с Германн. Микросхема ничегошеньки не знает, про
> то, как Windows реализует запись/чтение. Блокирует ли она
> нить или не блокирует, а операцию производит в фоновом потоке.
> Ей все-равно. У нее есть только транзисторы внутри и ножки
> снаружи :) Согласен?
Согласен с вашей точкой зрения. А язык Делфи это набор begin'ов и end'ов с большим количеством символов между ними... . И ему все равно в каком порядке они расположились. Согласны?
> И работа драйвера СОМ-порта, ну никак не зависит от того
> используется синхронный или асинхронный метод работы с СОМ-
> портом.
Асинхронный режим в аппаратном смысле сильно отличается от синхронного. В синхронном режиме нет ни старт-бита, ни стоп-бита, ни ошибок передачи, по типу ошибк паритета и пр. Короче говоря синхронный режим - это в принципе реализация работы простейшего 8-разрядного генератора. Так что такого писать точно не стоит:
> P.S. Ещё раз повторю - синхронная работа с устройством,
> которое поддерживает асинхронность - полная чушь!
И вообще если я написал, что мне надо знать отличие синхронного от несинхронного, то если у вас есть время и желание ответьте на него максимально точно и корректно. И не надо разводить тут лишние обсуждения, которые порой могут сбить с толку других людей, читающих данный форум.
Anatoly Podgoretsky (2007-06-23 12:19:00) [8]> Германн (23.06.2007 02:24:31) [31]
> P.S. Ещё раз повторю - синхронная работа с устройством, которое поддерживает асинхронность - полная чушь! И часто приводит к трудноуловимым граблям для пользователей таких программ.
Пока наблюдается другое. Ассинхронный режим работы большинству не по зубам.
Инс (2007-06-23 12:08:00) [9]
> С проблемами связанными с использованием доппотоков недозрелыми
> желтыми земляными червяками.
Ну дык, синхронный режим тут ни причем, это руки кривые. Ну да ладно, пожалуй, действительно, при работе с потоками нужно четко представлять как это работает, иначе - грабли, грабли, грабли. Хотя при работе в асинхронном режиме последнее утверждение тоже действует.
Германн (2007-06-23 11:44:00) [10]
> Вы так категорично это заявляете! Я в принципе согласен,
> что асинхронный режим работы предпочтительнее, но раз вы
> говорите, что синхронный - полная чушь, то хотелось бы услышать
> более конкретные аргументы. С чем именно можно столкнуться
> при работе в синхронном режиме?
>
С проблемами связанными с использованием доппотоков недозрелыми желтыми земляными червяками. Как то: программа начинает через несколько часов работы заявлять, что не может открыть порт, потому что он занят (хотя именно она сама его заняла). Или, например, при выдергивании из компа переходника USB-COM программа "наглухо" вешает систему, даже на CAD нет реакции. И т.д. и т.п.
Инс (2007-06-23 09:43:00) [11]
> Тут вообще несколько другое. Что получит микросхема зависит
> от драйвера СОМ-порта. И от того, что система aka Windows
> сочтёт для себя главной задачей в тот или иной момент. И
> работа драйвера СОМ-порта, ну никак не зависит от того используется
> синхронный или асинхронный метод работы с СОМ-портом.
Драйвер COM-порта будет работать одинаково в обоих режимах, но надо учитывать, что Windows не является системой реального времени, так что время начала отправки данных будет зависеть от того, синхронный режим используется или асинхронный. Это связано с планированием потоков. А вот после того, как отправка данных начата - разницы уже не будет никакой.
> P.S. Ещё раз повторю - синхронная работа с устройством,
> которое поддерживает асинхронность - полная чушь! И часто
> приводит к трудноуловимым граблям для пользователей таких
> программ.
Вы так категорично это заявляете! Я в принципе согласен, что асинхронный режим работы предпочтительнее, но раз вы говорите, что синхронный - полная чушь, то хотелось бы услышать более конкретные аргументы. С чем именно можно столкнуться при работе в синхронном режиме?
Германн (2007-06-23 02:24:00) [12]
> MASTAFA © (22.06.07 15:57) [28]
>
> Да нет, я понимаю почему не надо работать в синхронном режиме.
>
> Инс (22.06.07 17:59) [30]
>
> Согласен с Германн. Микросхема ничегошеньки не знает, про
> то, как Windows реализует запись/чтение. Блокирует ли она
> нить или не блокирует, а операцию производит в фоновом потоке.
>
Тут вообще несколько другое. Что получит микросхема зависит от драйвера СОМ-порта. И от того, что система aka Windows сочтёт для себя главной задачей в тот или иной момент. И работа драйвера СОМ-порта, ну никак не зависит от того используется синхронный или асинхронный метод работы с СОМ-портом.
P.S. Ещё раз повторю - синхронная работа с устройством, которое поддерживает асинхронность - полная чушь! И часто приводит к трудноуловимым граблям для пользователей таких программ.
Инс (2007-06-22 17:59:00) [13]Согласен с Германн. Микросхема ничегошеньки не знает, про то, как Windows реализует запись/чтение. Блокирует ли она нить или не блокирует, а операцию производит в фоновом потоке. Ей все-равно. У нее есть только транзисторы внутри и ножки снаружи :) Согласен?
Германн (2007-06-22 17:53:00) [14]
> Просто, во-первых, мне нужен вывод на микросхемку именно
> в таком режиме
Ты заблуждаешься. Синхронность/асинхронность тут ни при чем.
MASTAFA (2007-06-22 15:57:00) [15]Да нет, я понимаю почему не надо работать в синхронном режиме. Просто, во-первых, мне нужен вывод на микросхемку именно в таком режиме, а, во-вторых, мне абосолютно не важна производительность (или вообще его способность производить что-нибудь :D) компьютера в данный момент. Просто программка сгенерирует несколько импульсов и по счетчику отключится.
Германн (2007-06-22 15:53:00) [16]
> Но можно, например, создать дополнительный поток, и в нем
> работать в синхронном режиме.
Всё равно не надо. Сплошные грабли!
Инс (2007-06-22 15:51:00) [17]
> Не надо работать в синхронном режиме.
В основном потоке действительно не надо. Но можно, например, создать дополнительный поток, и в нем работать в синхронном режиме. Главный поток при этом сможет беспрепятственно заниматься обработкой сообщений.
Германн (2007-06-22 15:45:00) [18]
> MASTAFA © (22.06.07 15:43) [24]
Не надо работать в синхронном режиме. Пусть это и проще для тебя, но всё равно не надо.
MASTAFA (2007-06-22 15:43:00) [19]эх-х-х, издеваться еще успеваете )))
Инс (2007-06-22 15:36:00) [20]
> Если его не указывать компилятор ругается
Конечно ругается :)))