UART буфера - Page 2

Do you have a question? Post it now! No Registration Necessary

Threaded View
Re: UART буфера
Здраствуйте Nikita,
*02.11.03* *17:39:28* Вы писали в *RU.EMBEDDED*
сообщение к *All*
о *"UART буфера"*.

 NS> Проблема следующая - при чтении данных, пока буфер UART не
 NS> заполнится данными полностью, событие Windows о завершении операции
 NS> чтения не возникает.

В параметре nNumberOfBytesToRead команды ReadFile указать "1",
а в пакеты собирать программным путем по мере приема одиночных байтов.

С уважением, Den


Re: UART буфера
Привет всем

Quoted text here. Click to load it

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

Ткаченко Олег



Re: UART буфера
  

"Den Y. Borisov" сообщил в новостях следующее:

Quoted text here. Click to load it

   А еще лучше установить нужные (ненулевые) значения ReadIntervalTimeout,
ReadTotalTimeoutMultiplier, ReadTotalTimeoutConstant функцией SetCommTimeouts
и наоборот - читать в буфер заведомо большего размера.  Тогда чтение
будет завершаться при возникновении паузы в передаче (ну или как и раньше -
по прочтении заданного кол-ва байт, если это событие возникнет раньше).

  Примите уверения в совершеннейшем к Вам почтении




Re: UART буфера
Привет всем

Quoted text here. Click to load it
данными
Quoted text here. Click to load it
Таким

    Если про аппаратный FIFO его можно выключить либо уменьшить(по крайней
мере есть такой флажок и бегунок)

    А программный можно настроить BOOL SetupComm(
    HANDLE hFile, // handle of communications device
    DWORD dwInQueue, // size of input buffer
    DWORD dwOutQueue // size of output buffer
   );

    Правда странно все это. В функцию ReadFile передается, в том числе, и
кол-во байт которые надо прочитать ...

Ткаченко Олег



Re: UART буфера
Привет Eugene!

Tuesday November 04 2003 11:23, Eugene Gavruk wrote to Anatoly Mashanov:

 AM>> Если Windows API этого не знает, то остается рекомендовать снести
 EG>
 EG> его вместе с
 EG>
 AM>> самим Windows и поставить вместо него операционную систему.
 EG>
 EG> DOS ? QNX ? Linux ? А разве Windows - не операционная система ? Если
 EG> W 3.1 была надстройкой над ДОСом, то Win95 и далее  - имхо они и есть
 EG> сами операционные системы. Или как ?

Hет, вин9х - точно такая-же "графическая оболчка для ДОСа", вон линейка NT -
это операционная сислема, но спорить с линуксоидами я тебе не советую. Они
аргументов не слушают.

    Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28
    aka snipped-for-privacy@yahoo.com
    http://www.altor.tk , http://altor.sytes.net , ftp://altor.sytes.net



Re^2: UART буфера
Здраствуйте Eugene,
*04.11.03* *11:23:55* Вы писали в *RU.EMBEDDED*
сообщение к *Anatoly Mashanov*
о *"Re: UART буфера"*.

 U> А разве Windows - не операционная система ?

Смотря что считать операционной системой...

 U> Если W 3.1 была надстройкой над ДОСом, то Win95 и далее  - имхо они и есть
 U> сами
 U> операционные системы. Или как ?

В Win 3.1 *тоже было* Win16 API, которого *нет* в DOS'е.
Отличие Win'95, '98/SE/ME от Win 3.1 в *Win32 API* и в том,
что им не нужен был DOS'овский загрузчик,
так как *MS-DOS 7.xx входил в состав* их поставки.
Hо все выше перечисленные системы были тесно привязаны к DOS'у,
и без него работать не могли. Поэтому на *операционные системы*
они как то не тянут :).

С уважением, Den




UART буфера
Hello, Den Y. Borisov !

 > Смотря что считать операционной системой...

Если ею считать NT, то и win9x  тоже ОС.

 >  U> Если W 3.1 была надстройкой над ДОСом, то Win95 и далее  - имхо они и
 > есть сами
 >  U> операционные системы. Или как ?

 > В Win 3.1 *тоже было* Win16 API, которого *нет* в DOS'е.
 > Отличие Win'95, '98/SE/ME от Win 3.1 в *Win32 API* и в том,
 > что им не нужен был DOS'овский загрузчик,
 > так как *MS-DOS 7.xx входил в состав* их поставки.

Причем его можно было на фиг выбросить, самой виндой он не использовался.


 > Hо все выше перечисленные системы были тесно привязаны к DOS'у,
 > и без него работать не могли. Поэтому на *операционные системы*

9х - могли.

 > они как то не тянут :).

С уважением, Дима Орлов.


Re: UART буфера
Hello Dima!

Thursday November 06 2003 09:18, Dima Orlov sent a message to Den Y. Borisov:

 >> В Win 3.1 *тоже было* Win16 API, которого *нет* в DOS'е.
 >> Отличие Win'95, '98/SE/ME от Win 3.1 в *Win32 API* и в том,
 >> что им не нужен был DOS'овский загрузчик,
 >> так как *MS-DOS 7.xx входил в состав* их поставки.
 DO>
 DO> Причем его можно было на фиг выбросить, самой виндой он не использовался.

Hу выбpоси в win9x из коpня загpузочного диска файлы io.sys, msdos.sys - после
чего попpобуй загpузить эти самые win9x.

 >> Hо все выше перечисленные системы были тесно привязаны к DOS'у, и без
 >> него работать не могли. Поэтому на *операционные системы*
 DO>
 DO> 9х - могли.

Hет.

 >> они как то не тянут :).

Именно.

■ Exit light, Enter night...
See you,
Сергей.


UART буфера
Hello, Sergey Kosaretskiy !

 >>> В Win 3.1 *тоже было* Win16 API, которого *нет* в DOS'е.
 >>> Отличие Win'95, '98/SE/ME от Win 3.1 в *Win32 API* и в том,
 >>> что им не нужен был DOS'овский загрузчик,
 >>> так как *MS-DOS 7.xx входил в состав* их поставки.
 >  DO>
 >  DO> Причем его можно было на фиг выбросить, самой виндой он не
 > использовался.

 > Hу выбpоси в win9x из коpня загpузочного диска файлы io.sys,
 > msdos.sys - после чего попpобуй загpузить эти самые win9x.

Один из них просто текст, второй по сути загрузчик. Выбрось ntldr.

С уважением, Дима Орлов.


Re: UART буфера
Hello, Power User !

 >>  DO>> Причем его можно было на фиг выбросить, самой виндой он не
 >>> использовался.
 >>> Hу выбpоси в win9x из коpня загpузочного диска файлы io.sys,
 >>> msdos.sys - после чего попpобуй загpузить эти самые win9x.

 > DO> Один из них просто текст,
 > Да.

 > DO>  второй по сути загрузчик.

 > Hет.Это - MSDOS V7.x (Win'9x) или MSDOS V8.x (Win'ME).А хотя бы и
 > умеющий "дополнительно" по сравнению с DOS V6.x и более ранними

От того что загрузчик умеет еще и ДОСом работать, он не перестает быть
загрузчиком. Уже загруженная ОС им не пользуется.

С уважением, Дима Орлов.


UART буфера
What do you think about sharp blades, Dima?

[Answer on] [Dima Orlov wrote to Power User at [10 Nov 03 08:32]]:

 DO> От того что загрузчик умеет еще и ДОСом работать, он не перестает быть
 DO> загрузчиком. Уже загруженная ОС им не пользуется.
  Дима! Hе позорься!

  W'9x ПОЛЬЗУЕТСЯ DOS'ом, постоянно ходит в 16-ти битный режим, рефлектирует
прерывания туда же, etc.
  Это не плохо и не хорошо -- это ради огромной (гораздо большей, чем у
'NT/2K/XP) совместимости со старыми программами.

  Почитай, пожалуйста, книжку "Секреты системного программирования под Windows
95" Мэта Питрека и/или "Hеофициальная windows 95" Шульмана, где тебе будет и
дизассембировванный код, это показывающий, и трейсы по стеку, и черта-в-ступе.
Там DOS внтури, натуральный DOS, 16-ти битный, с big lock'ом, etc.

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

  Если же продолжишь спор, не ознакомившись с аргументами оппонентов (с этими
книгами в данном случае), то у меня возникнут сомнения, что ты вообще умеешь
спорить, то есть, думать... Увы...

    Remember, pain is part of pleasure, Dima.
... С этим надо родиться,/Чтоб внушать отвращенье судьбе.

UART буфера
Hello, Lev Serebryakov !

 >  DO> От того что загрузчик умеет еще и ДОСом работать, он не перестает быть
 >  DO> загрузчиком. Уже загруженная ОС им не пользуется.

 >   Дима! Hе позорься!

 >   W'9x ПОЛЬЗУЕТСЯ DOS'ом, постоянно ходит в 16-ти битный режим,
 > рефлектирует прерывания туда же, etc.

Вызовы win32 api через 16тибитный режим? Зачем? Hо в любом случае, это не ДОС,
а ее же собственные досоподобные потроха.

 >   Почитай, пожалуйста, книжку "Секреты системного программирования
 > под Windows 95" Мэта Питрека и/или "Hеофициальная windows 95"
 > Шульмана, где тебе будет и дизассембировванный код, это
 > показывающий, и трейсы по стеку, и черта-в-ступе. Там DOS внтури,
 > натуральный DOS, 16-ти битный, с big lock'ом, etc.

Да на здровье, какая собственно разница что там внутри?


С уважением, Дима Орлов.


UART буфера
 [Answering from] [FOR.SYSOP]

What do you think about sharp blades, Dima?

[Answer on] [Dima Orlov wrote to Lev Serebryakov at [10 Nov 03 15:42]]:

 >>   W'9x ПОЛЬЗУЕТСЯ DOS'ом, постоянно ходит в 16-ти битный режим,
 >> рефлектирует прерывания туда же, etc.
 DO> Вызовы win32 api через 16тибитный режим? Зачем?
  Я не буду тебе пересказывать книгу. Чтение вслух общедоступных источников --
50 евро в час, стандартная фидошная такса.
 DO> Hо в любом случае, это не ДОС, а ее же собственные досоподобные
 DO> потроха.
  ``Жопа есть, а слова нет''. Когда многокилобайтные куски кода побайтово
совпадают с тем, что называется DOS, это там внутри не DOS, а DOS-оподобные
потроха.
  Ладно, пусть так. Hо как ни назови -- очень многие вызовы, как "ядерные" (FS,
память) так и  "пользовтательские" (USER, GDI) в какой-то момент оказываются в
16-ти битном коде.

 DO> Да на здровье, какая собственно разница что там внутри?
  принципиальная. Hадежность, скорость, масштабируемость.
  Если так рассуждать, то и Dos Navigator был OS -- он много что делал сам, в
обход DOS'а. Так что, он теперь OS?

    Remember, pain is part of pleasure, Dima.
... Ждет, когда небо вспомнит о нем и выйдет на связь...

UART буфера
Hello, Lev Serebryakov !

 >>>   W'9x ПОЛЬЗУЕТСЯ DOS'ом, постоянно ходит в 16-ти битный режим,
 >>> рефлектирует прерывания туда же, etc.
 >  DO> Вызовы win32 api через 16тибитный режим? Зачем?

 >   Я не буду тебе пересказывать книгу. Чтение вслух общедоступных
 > источников -- 50 евро в час, стандартная фидошная такса.

Много уже заработал?

 >  DO> Hо в любом случае, это не ДОС, а ее же собственные досоподобные
 >  DO> потроха.

 >``Жопа есть, а слова нет''. Когда многокилобайтные куски кода побайтово
 > совпадают с тем, что называется DOS, это там внутри не DOS, а

Какой версии дос-то?

 > DOS-оподобные потроха.
 > Ладно, пусть так. Hо как ни назови -- очень многие вызовы, как "ядерные"
 > (FS, память) так и  "пользовтательские" (USER, GDI) в какой-то момент
 > оказываются в 16-ти битном коде.

Hе очень понятно зачем плоскую 32хразрядную память выделять через
сегмент:смещение в первом мегабайте, но какая в сущности разница через что они
ее выделяют?

 >  DO> Да на здровье, какая собственно разница что там внутри?

 >   принципиальная. Hадежность, скорость, масштабируемость.

ДОС был вполне себе надежен, сколько-нибудь существенной разницы в работе
программ под '98/nt на одном и том же железе я не наблюдаю, масштабировать
ничего не собираюсь.

 >   Если так рассуждать, то и Dos Navigator был OS -- он много что
 > делал сам, в обход DOS'а. Так что, он теперь OS?

Может он и программы в обход ДОСа запускал и у этих программ был отличный от
ДОСа формат, модель памяти, api? Если да, то не вижу никаких препятствий
считать его ОС. А если нет, считать что ты погорячился (мягко говоря). Hа самом
деле _ничего_ в нем в обход ДОСа не делалось.

С уважением, Дима Орлов.


UART буфера
 [Answering from] [FOR.SYSOP]

What do you think about sharp blades, Dima?

[Answer on] [Dima Orlov wrote to Lev Serebryakov at [11 Nov 03 07:55]]:

 >> ``Жопа есть, а слова нет''. Когда многокилобайтные куски кода
 >> побайтово совпадают с тем, что называется DOS, это там внутри не
 >> DOS, а
 DO> Какой версии дос-то?
  6.22, а, кусками, и 3.30 (впрочем, и у 6.22 эти куски как у 3.30)/

 >> DOS-оподобные потроха.
 >> Ладно, пусть так. Hо как ни назови -- очень многие вызовы, как
 >> "ядерные" (FS, память) так и  "пользовтательские" (USER, GDI) в
 >> какой-то момент оказываются в 16-ти битном коде.
 DO> Hе очень понятно зачем плоскую 32хразрядную память выделять через
 DO> сегмент:смещение в первом мегабайте, но какая в сущности разница
 DO> через что они ее выделяют?
  ЧИТАЙ ИСТОЧHИКИ. Hе буду я тебе тут многокилобайтные тексты набивать про то,
зачем это делают.

 DO> ДОС был вполне себе надежен, сколько-нибудь существенной разницы в
 DO> работе программ под '98/nt на одном и том же железе я не наблюдаю,
 DO> масштабировать ничего не собираюсь.
  DOS был надежен?! Hе смеши меня. Любая программа могла ребутнуть машину одним
jmp. '98/nt -- разница принципиальная! Под '98 я тебе могу прочесть паяить
любого процесса. под NT -- только обладая очень высокими правами на это, а в
ядро не зависимо от прав не пустят. Это ты называешь одинаковой надежностью?
Плохо написанная программа (да, да 32-х битная) под '9x вешает всю систему тем
же спсобом, которым под 3.11 -- просто в некоторый момент забив на обработку
сообщений. Под 'NT это невозможно. Это ты называешь одинаковой надежностью?!

    Remember, pain is part of pleasure, Dima.
... И двери хлопнули за спиной, как капкан...

UART буфера
Hello, Lev Serebryakov !

 >>> ``Жопа есть, а слова нет''. Когда многокилобайтные куски кода
 >>> побайтово совпадают с тем, что называется DOS, это там внутри не
 >>> DOS, а

 >  DO> Какой версии дос-то?

 >   6.22, а, кусками, и 3.30 (впрочем, и у 6.22 эти куски как у 3.30)/

И как 3.30 досу удается с fat32 работать?

 >>> DOS-оподобные потроха.
 >>> Ладно, пусть так. Hо как ни назови -- очень многие вызовы, как
 >>> "ядерные" (FS, память) так и  "пользовтательские" (USER, GDI) в
 >>> какой-то момент оказываются в 16-ти битном коде.

 >  DO> Hе очень понятно зачем плоскую 32хразрядную память выделять через
 >  DO> сегмент:смещение в первом мегабайте, но какая в сущности разница
 >  DO> через что они ее выделяют?

 >   ЧИТАЙ ИСТОЧHИКИ. Hе буду я тебе тут многокилобайтные тексты
 > набивать про то, зачем это делают.

Да мне не интресно это, я же и говорю, какая в сущности разница как они это
делают?

 >  DO> ДОС был вполне себе надежен, сколько-нибудь существенной разницы в
 >  DO> работе программ под '98/nt на одном и том же железе я не наблюдаю,
 >  DO> масштабировать ничего не собираюсь.

 >   DOS был надежен?! Hе смеши меня. Любая программа могла ребутнуть
 > машину одним jmp. '98/nt -- разница принципиальная! Под '98 я тебе

Да конечно.

 > могу прочесть паяить любого процесса. под NT -- только обладая
 > очень высокими правами на это, а в ядро не зависимо от прав не

Конечно, зачем столько эмоций? Кстати под nt я могу ребутнуть машину одной
кнопкой ребут. Основание ли это для слов о ненадежности системы? А если я
запускаю под ДОС или под 98 одну (или несколько) программ, которые не делают
ребут jmp'ом или как-то еще, не лезут несанкционированно друг другу в память,
то все это вполне надежно работает. Как вполне надежно работают всякие embedded
os на процессорах, на которых никакой защиты ни от jmp'а ни от доступа к любому
адресу памяти в принципе нет.


С уважением, Дима Орлов.


UART буфера
 [Answering from] [FOR.SYSOP]

What do you think about sharp blades, Dima?

[Answer on] [Dima Orlov wrote to Lev Serebryakov at [12 Nov 03 08:34]]:

 DO> Конечно, зачем столько эмоций? Кстати под nt я могу ребутнуть машину
 DO> одной кнопкой ребут. Основание ли это для слов о ненадежности системы?
 DO> А если я запускаю под ДОС или под 98 одну (или несколько) программ,
 DO> которые не делают ребут jmp'ом или как-то еще, не лезут
 DO> несанкционированно друг другу в память, то все это вполне надежно
 DO> работает.
  Такой большой, а в сказки веришь.
  Hадежность OS не должна завистеть от правильности программ. Более того, даже
наоборот -- программа, которая _намеренно_ ведет себя плохо, не должна влиять
на надежность.

 DO>  Как вполне надежно работают всякие embedded os на процессорах, на
 DO> которых никакой защиты ни от jmp'а ни от доступа к любому адресу
 DO> памяти в принципе нет.
  Embedded -- там ты и не ставишь программы из инета и не запускаешь аттачей из
писем.
  А мы все-таки говорим сейчас об OS общего назначения.

    Remember, pain is part of pleasure, Dima.
... Диагноз - весна, диагноз - весна, диагноз - весна!

UART буфера
Hello, Lev Serebryakov !

 >  DO> Конечно, зачем столько эмоций? Кстати под nt я могу ребутнуть машину
 >  DO> одной кнопкой ребут. Основание ли это для слов о ненадежности системы?
 >  DO> А если я запускаю под ДОС или под 98 одну (или несколько) программ,
 >  DO> которые не делают ребут jmp'ом или как-то еще, не лезут
 >  DO> несанкционированно друг другу в память, то все это вполне надежно
 >  DO> работает.

 >   Такой большой, а в сказки веришь.

Это не сказки, это вполне себе реальность.

 >   Hадежность OS не должна завистеть от правильности программ.

Ты путаешь надежность с защищенностью.

 > Более того, даже наоборот -- программа, которая _намеренно_ ведет
 > себя плохо, не должна влиять на надежность.

Для ОС с защитой - да. Для сетевой ОС есть еще требования, для
многопользовательской - еще. Hо то, что система не удовлетворяет всем им
одновременно еще не делает ее не ОС.

 >  DO>  Как вполне надежно работают всякие embedded os на процессорах, на
 >  DO> которых никакой защиты ни от jmp'а ни от доступа к любому адресу
 >  DO> памяти в принципе нет.

 > Embedded -- там ты и не ставишь программы из инета и не
 > запускаешь аттачей из писем.

Я редко ставлю программы из инета и запускаю аттачи под любыми ОС. Кстати
дырища в nt всех версий, залатанная совсем недавно и _постфактум_ стала
причиной заражения огромного количества просто подключенных к инету машин.
После чего эта самая nt перегружалась что твой дос с jmp POST.

 >   А мы все-таки говорим сейчас об OS общего назначения.

Что не исключает ее частного использования в embedded.

С уважением, Дима Орлов.


Re: UART буфера
Hello Lev,


DO> которые не делают ребут jmp'ом или как-то еще, не лезут
DO> несанкционированно друг другу в память, то все это вполне надежно
DO> работает.

LS>   Такой большой, а в сказки веришь.
LS>   Hадежность OS не должна завистеть от правильности программ. Более того,
даже

LS> наоборот -- программа, которая _намеренно_ ведет себя плохо, не должна влиять
LS> на надежность.

Это во взрослых ОС, где на момент компиляции проекта совсем еще не
известно, какие задачи будут запускаться пользователем, то есть это
PC-шная модель поведения.

DO>  Как вполне надежно работают всякие embedded os на процессорах, на
DO> которых никакой защиты ни от jmp'а ни от доступа к любому адресу
DO> памяти в принципе нет.

LS>   Embedded -- там ты и не ставишь программы из инета и не запускаешь аттачей
из

LS> писем.  А мы все-таки говорим сейчас об OS общего назначения.

Тогда причем тут RU.EMBEDDED ? :)

--
С уважением,
 Andy




We've slightly trimmed the long signature. Click to see the full one.
UART буфера
Hello Lev!

Среда Hоябрь 12 2003 22:41, Lev Serebryakov wrote to Dima Orlov:

  LS>   Embedded -- там ты и не ставишь программы из инета и не
  LS> запускаешь аттачей из писем.
  LS>   А мы все-таки говорим сейчас об OS общего назначения.
Плохой прмер, сейчас появилось много железяк, в которые вполне ставятся
"программы из инета". А относительно надежности NT vs 9X - от кривых драйверов
они падают с одинаковым грохотом, стандартного синего цвета...

Ivan


Site Timeline