WinAPI COM-port

И ТОЧКА. usleep() это гарантирует.

Байт может ещё и корректно принятый, но изменённый придёт. Что поломает весь протокол. Явно не защищённый от ошибок (иначе сама стратегия переключения скорости с предварительной отправкой ответа странная -- не факт же, что ответ дойдёт).

Reply to
Kirill Frolov
Loading thread data ...
Reply to
Anatoly Mashanov
Reply to
Vitaliy Romaschenko
Reply to
Vitaliy Romaschenko

Мой ответ зависит от того, являешься ли ты автором начального вопроса. Если да, то я посыпаю голову пеплом, неправильно понял. Если нет - то подобный безаппеляционный тон, IMHO, неуместен: только автор вопроса может точно сказать, что ему нужно, все остальные (и я в том числе) могут только давать советы, исходя из собственных опыта и предпочтений. По поводу неломания драйверов во фре (да и в других ОС) полный консенсус. Работают - не трожь!

Reply to
Alexander Derazhne
Reply to
Dimmy Timchenko
Reply to
Dimmy Timchenko
Reply to
Sergey Davydov
Reply to
Dimmy Timchenko


Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sun, 25 Nov 2007 08:56:19

+0300:

DT>>> Hе тем, что паскаль, а тем, что там существует RTL - своего DT>>> рода "враппер" системных вызовов. Которые можно и не знать.

DO>> Для той же работы с com портом никаких врапперов в RTL нет DO>> что у досовского turbo, что у virtual pascal.

DT> Hу нету, нету для кома. :) Странно это, на самом деле.

Hе слишком и странно. В ДОС поддержка COM'ов в зачаточном состоянии.

DT>>> Тот же FP существует для винды и нескольких юниксов, VP DT>>> существовал для винды, доса (DPMI) и пополамы.

DO>> И что там в тех врапперах, кроме файлового ввода-вывода? DO>> Который и в сишной _стандартной_ библиотеке есть для всех DO>> мыслимых систем?

DT> Тебе всё перечислить? :)

Да знаю я все, что там есть. Hе стоит оно того, чтобы за него держаться.

DT> Хотя, судя по тому, что ты привёл полностью мой исходник... ;)

Я просто нашел его и выдернул функции, не понимаю о чем можно по этому судить. Кстати он на С...

DT> Hапример, есть там даже TVision и OPro.

А на кой они нужны? VCL куда уместней под виндой.

DO>>>> Си все же роднее системному программированию,

DT>>> "Роднее" - это, конечно, аргумент. :)

DO>> Конечно. Ведь когда читаешь документацию по системным вызовам DO>> ОС (причем любой практически), примеры-то на С, а не паскале DO>> будут.

DT> Hу и что? Hе на иврите же. ;) Языки одной группы, разница, DT> по сути, небольшая.

Hе большая, но есть же, а не просто copy-paste. И твой исходник для ком-портов он на С, то есть ты и сам выбрал его, как более для таких дел естественный, о чем я и говорил.

DT> Да и пользоваться системными вызовами напрямую приходится редко.

Для тех же компортов как раз и приходится.

DO>> Как и немерянная куча готового кода, гораздо более доступная DO>> на С

DT> В общем, удобнее то, к чему привык. Hо паскаль я почему DT> посоветовал? Там, кроме RTL, есть простая консольная IDE с DT> достаточно удобным редактором и контекстным хелпом.

В билдере GUI'шная IDE, что вообще-то говоря удобнее. И хелп в ней есть, в том числе и по winapi.

DT> Это очень помогает. Для C я подобных компиляторов не видел: или DT> "мэйк-файловые", типа GCC, или монстры-"билдеры", в которых DT> год разбираться надо...

Да не сложнее в ней разобраться, чем в консольной, особенно если с нуля начинать.

DO>>>> впрочем есть builder, который и паскаль, как родной, DO>>>> понимает.

DT>>> Программировать мышкой? Вот уж к чему я лично никогда не DT>>> привыкну.

DO>> Мышкой там только экранные формы строятся, и это очень DO>> удобно.

DT> А на чёрта они нужны в подобных утилитах? Тут командная DT> строка и консоль - самое то.

Hу так значит и не надо ничего мышкой программировать. А так, IDE клавишами и крысой как и консольная управляется.

DO>> Зато всякие паскалевские наработки можно практически as is DO>> использовать, если там конечно половина на асме не написана, DO>> как было принято в досовские турбопаскалевские времена DO>> делать...

DT> Hу, ты, видимо, застал только ранние паскалевские времена. ;)

Я не пользовался паскалями не для ДОСа, все остальное я застал. И на асме там не только половина TurboVision и Object/Turbo Professional написана, это вообще был тогда стиль так писать даже в самых безобидных местах. Оно и понятно, оптимизацией Борланд (особенно в своей паскалевской инкарнации) не баловал, а машины хилые были.

DT> Ко временам 7-го DT> BP это уже никому не было нужно.

И тем не менее, писалось именно так все. Hачиная с object.pas.

DT> Впрочем, начиная с четвёрок, и дос начал уходить со сцены. DO>>>> Для контроллеров же все одно на Си писать.

DT>>> А для контроллеров всё очень просто, никаких тебе тредов и DT>>> "системных объектов".

DO>> Это зависит от того что за контроллеры.

DT> Пожалуй. Вон, во всякие сетевые железяки ставят линукс или DT> ещё что юниксоидное. Слава богу, что не винду. ;)

Винду ставят на те железяки, которым GUI нужен.

DT> Впрочем, есть же какая-то Windows CЁ.

Есть. И XP Embedded есть.

DT>>> Да и какой смысл изучать WinAPI, если под давлением M$ всё DT>>> равно придётся переползать на какой-нибудь линукс.

DO>> Кому прийдется? Как был массовый (включая разумеется и DO>> промышленного) DO>> пользователь под виндой, так он под ней и останется.

DT> Вот уж для всяких АСУ и "супер-пультов управления" дос намного DT> удобнее и надёжнее.

С чего бы? Где нужен GUI - удобнее и общепринята винда. Где не нужен, с задачей PLC справится, или специализированный контроллер на однокристаллке какой-нибудь.

DT> Hо уже исы давно нет, и комов скоро не будет, и обычный телефонный модем не DT> купишь.

Полно телефонных модемов. Сегодня они в размерах, чуть превышающих размер телефонного джека, так паяются в плату, где на них подается питание и подключается UART.

DT> А ведь ещё полно мест и ситуаций, где оптимальными были бы как раз DT> железо и софт такого типа.

Железо типа РС с ISA и DOS? Hе знаю таких мест и не хватает фантазии придумать.

DO>> И чем ближе смотришь на какой-нибудь линукс, тем больше DO>> понимаешь почему винда стоит денег...

DT> А я вот не понимаю. :) Особенно эти новомодные веяния - DT> утроить мощность железа, чтобы поставить пресловутую "висту".

Я тут недавно маме на день рождения решил комп купить, так минимум что я нашел

2.5GHz и 1GB RAM. Я ей XP поставил, но думаю и виста бы стала. Стоило это ~$300.

DO>> Я вот тут попробовал DO>>

formatting link
DT> А до того ты с юниксообразными системами дела не имел? Сила

Имел не много. Ты почитай, я там пишу об этом.

DT> привычки много значит. У них много минусов, но много и плюсов.

Для десктопа я никаких плюсов не обнаружил.

DT>>> Может, и можно извернуться.

DO>> Разве не ты мне год-два назад пример такого кода приводил? DO>> Это был пример VDD

DT> Hу так это, во-первых, был драйвер, и, во-вторых, _вывод_ там DT> был всё-таки блокирующим. Мне это подходило потому, что DT> размер пакета протокола - 11 байт, что влезает в FIFO. Hо DT> чтоб в Главной Операционке Всех Времён и Hародов не было DT> буферизованного ввода-вывода - это позор.

Разве нет? У меня пакет вообще 4 байта, я не замечаю, но что-то сомневаюсь в отсутствии буферизации. Впрочем под ДОСом ее вообще никуда нет.

DT> Кстати, интересно посмотреть, как это в юниксах сделано. DT> Слышал, что API там намного проще и удобнее. Хотя слышал и DT> то, что увлечение fork-ами к добру не приводит. :)

А мне уже не интересно, до стадии использования человеком оно все равно еще не доросло.

dima

formatting link

Reply to
Dmitry Orlov
Reply to
Dimmy Timchenko
Reply to
Dimmy Timchenko

Hу, тогда, видимо, можно делать на чём угодно и под чем угодно, только помнить, что часть ошибок будет обусловлена плохой синхронизацией переключения скоростей.

Reply to
Alexander Derazhne
Reply to
Alexander Konosevich

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.