WinAPI COM-port

Nov 18, 2007 40 Replies

Hello All.



÷ÏÐpÏÓ ÐÏ ÓÍÅÖÎÏÊ ÔÅÍÅ. XP, ÓÁÍÏÐÁÌØÎÙÊ ÐpÏÔÏËÏÌ. ðÏ ÚÁÐpÏÓÕ ÉÚ×ÎÅ ÎÕÖÎÏ ÐÅpÅÓÔpÏÉÔØ ÓËÏpÏÓÔØ. ðÅpÅÄ ÜÔÉÍ ÎÁ ÓÔÁpÏÊ ÓÔÁpÏÊ ÓËÏpÏÓÔÉ ÏÔ×ÅÔÉÔØ "ÐÏÎÑÌ, ×ÙÐÏÌÎÑÀ". HÅ ÐÏÓÙÌÁÔØ ÐpÉ ÜÔÏÍ break × ÌÉÎÉÀ. HÁ WinAPI. ëÁË ÐpÁ×ÉÌØÎÏ?

PS: ÷ ÷ÉÎÄÏ×ÏÍ ÐpÏÇpÁÍÍÉpÏ×ÁÎÉÉ Ñ ÎÅ ÓÐÅà - ÜÔÏ ×ÎÕÔpÅÎÎÑÑ ÏÔÌÁÄÏÞÎÁÑ ×ÅÝØ.



é ÅÝÅ ×ÏÐpÏÓ. þÔÅÎÉÅ ËÌÁ×ÉÛÉ × ËÏÎÓÏÌØÎÏÊ ÐpÏÇpÁÍÍÅ ÂÅÚ ÏÖÉÄÁÎÉÑ. ôÏÖÅ ÖÅÌÁÔÅÌØÎÏ WinAPI. HÁÐÏÄÏÂÉÉ for(;;) { if(ÎÁÖÁÌÉ_esc) break; // ÂÅÚ ÚÁÄÅpÖËÉ ËpÕÔÉÍ ÃÉËÌ. } ìÕÞÛÅ ×ÁpÉÁÎÔ ÂÅÚ ÓÏÚÄÁÎÉÑ ÏÔÄÅÌØÎÙÈ ÔpÅÄÏ× ÄÌÑ ÃÉËÌÁ.

Sergey


÷ÅpÉÛØ ÌÉ ÷Ù × ÖÉÚÎØ ÐÏÓÌÅ ÔÏÐËÉ, Sergey? ÷ÏÓËpÅÓÅÎØÅ HÏÑÂpØ 18 2007 16:06, Sergey Davydov wrote to All:

SD> é ÅÝÅ ×ÏÐpÏÓ. þÔÅÎÉÅ ËÌÁ×ÉÛÉ × ËÏÎÓÏÌØÎÏÊ ÐpÏÇpÁÍÍÅ ÂÅÚ ÏÖÉÄÁÎÉÑ. SD> ôÏÖÅ ÖÅÌÁÔÅÌØÎÏ WinAPI. HÁÐÏÄÏÂÉÉ for(;;) { if(ÎÁÖÁÌÉ_esc) break; // SD> ÂÅÚ ÚÁÄÅpÖËÉ ËpyÔÉÍ ÃÉËÌ. } ìyÞÛÅ ×ÁpÉÁÎÔ ÂÅÚ ÓÏÚÄÁÎÉÑ ÏÔÄÅÌØÎÙÈ SD> ÔpÅÄÏ× ÄÌÑ ÃÉËÌÁ.

man kbhit()

íÁÊËÌ

Hello Michael.

18 Nov 07 21:10, you wrote to me:

SD>> é ÅÝÅ ×ÏÐpÏÓ. þÔÅÎÉÅ ËÌÁ×ÉÛÉ × ËÏÎÓÏÌØÎÏÊ ÐpÏÇpÁÍÍÅ ÂÅÚ ÏÖÉÄÁÎÉÑ. SD>> ôÏÖÅ ÖÅÌÁÔÅÌØÎÏ WinAPI. HÁÐÏÄÏÂÉÉ for(;;) { if(ÎÁÖÁÌÉ_esc) break; SD>> // ÂÅÚ ÚÁÄÅpÖËÉ ËpyÔÉÍ ÃÉËÌ. } ìyÞÛÅ ×ÁpÉÁÎÔ ÂÅÚ ÓÏÚÄÁÎÉÑ SD>> ÏÔÄÅÌØÎÙÈ ÔpÅÄÏ× ÄÌÑ ÃÉËÌÁ. MM> man kbhit() XP: man ÎÅ Ñ×ÌÑÅÔÓÑ ×ÎÕÔpÅÎÎÅÊ ÉÌÉ ×ÎÅÛÎÅÊ ÐpÏÇpÁÍÍÏÊ Linux: No manual entry for kbhit

èÏÔÑ, ×pÏÄÅ ÂÙ × 3.1 âÏpÌÁÎÄÅ ÔÁËÁÑ ÆÕÎËÃÉÑ ÂÙÌÁ? ôÏÌØËÏ ÇÄÅ Ñ, Á ÇÄÅ ÜÔÏÔ âÏpÌÁÎÄ.

Sergey

Вначале записать "понял", потом сделать flush, потом переключить скорость. В этот момент могут пропасть входящие сообщения. (считай, что переключение скорости занимает время).

Hу и не программируй windows. Возьми любую сборку tclkit, прочитай из документации на tcl разделы про open, puts и fconfigure внимательно. Этого достаточно для того, чтоб писать примитивные программы работающие с COM-портом на простом и куда более удобном языке, чем C+winapi.

В "консольной программе" незазорно использовать C-библиотеку и не морочить себе голову winapi. В частности microsoft в своей libc имеет для этого функцию kbhit() -- определение доступности входных данных и getchar() -- чтение байта (не путать с кодом кнопки, который для того же ANSI терминала может состоять более чем из одного байта, для экзотических клавиш, и предваряется, что характерно, кодом ESC...) Hо, понятное дело, использовать функции libc, унаследованные от unix, непрофессионально по меньшей мере. Ведь страшные конструкции из вызовов WinApi, любой согласится, выглядят гораздо более внушительно.

Что касается чтении без ожидания, то во-первых исключительно для ком-портов (или терминалов в *nix) имеется возможность задавать таймаут на чтение (только для этих типов файлов!). Проблема в том, что microsoft как всегда извратил оригинальную идею и для неблокирующего чтения консоли придётся использовать windows аналог select() -- WaitForMultipleObjects(). Для последовательных портов по-преждему можно с таймаутом (нулевым).

Тогда обработка событий врукопашную в цикле. Без блокировки. Ибо вместо ESC нажать могут что угодно, и пока ты его не считаешь и не обработаешь, следующий за ним ESC не увидишь.

$ man kbhit No manual entry for kbhit $ uname -a Linux pc 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux

$ man kbhit No manual entry for kbhit $ uname -a FreeBSD 6.1-RELEASE FreeBSD 6.1-RELEASE #0: Tue May 16 01:09:13 CEST 2006

$ man kbhit man: no entry for kbhit in the manual. $ uname -a OpenBSD 4.1 GENERIC#1435 i386

Вот Solaris под рукой нет. Может там получится?

formatting link
(да, поиск чего-то в MSDN является тайным знанием, доступным только таким великим гуру, как сам Ричард Столлман или Билл Гейтс)

Hello Sergey.

÷ÏÓËÒÅÓÅÎØÅ HÏÑÂÒØ 18 2007 16:06, you wrote to all:

SD> é ÅÝÅ ×ÏÐpÏÓ. þÔÅÎÉÅ ËÌÁ×ÉÛÉ × ËÏÎÓÏÌØÎÏÊ ÐpÏÇpÁÍÍÅ ÂÅÚ ÏÖÉÄÁÎÉÑ. ôÏÖÅ SD> ÖÅÌÁÔÅÌØÎÏ WinAPI. HÁÐÏÄÏÂÉÉ SD> for(;;) SD> { SD> if(ÎÁÖÁÌÉ_esc) break; SD> // ÂÅÚ ÚÁÄÅpÖËÉ ËpÕÔÉÍ ÃÉËÌ. SD> } SD> ìÕÞÛÅ ×ÁpÉÁÎÔ ÂÅÚ ÓÏÚÄÁÎÉÑ ÏÔÄÅÌØÎÙÈ ÔpÅÄÏ× ÄÌÑ ÃÉËÌÁ.

HÅ ÉÄÅÁÌØÎÏ, ÎÏ ÄÕÍÁÀ ÐÏÄÏÊÄÅÔ:

int checkBreak() { DWORD numKeys; INPUT_RECORD inp; HANDLE hInput=GetStdHandle(STD_INPUT_HANDLE); if(GetNumberOfConsoleInputEvents(hInput, &numKeys)==0) return 1; while(numKeys) { if( ReadConsoleInput(hInput, &inp, 1, &dw)==0 ) return 1; if(inp.EventType==KEY_EVENT && inp.Event.KeyEvent.bKeyDown && inp.Event.KeyEvent.uChar.AsciiChar==0x1b ) { FlushConsoleInputBuffer(hInput); return 1; }

--numKeys; } return 0; }

Leha

18 ÎÏÑÂpÑ 2007 16:06, Sergey Davydov ÐÉÓÁÌ All:

SD> ÷ÏÐpÏÓ ÐÏ ÓÍÅÖÎÏÊ ÔÅÍÅ. XP, ÓÁÍÏÐÁÌØÎÙÊ ÐpÏÔÏËÏÌ. ðÏ ÚÁÐpÏÓy ÉÚ×ÎÅ SD> ÎyÖÎÏ ÐÅpÅÓÔpÏÉÔØ ÓËÏpÏÓÔØ. ðÅpÅÄ ÜÔÉÍ ÎÁ ÓÔÁpÏÊ ÓÔÁpÏÊ ÓËÏpÏÓÔÉ SD> ÏÔ×ÅÔÉÔØ "ÐÏÎÑÌ, ×ÙÐÏÌÎÑÀ". HÅ ÐÏÓÙÌÁÔØ ÐpÉ ÜÔÏÍ break × ÌÉÎÉÀ. HÁ SD> WinAPI. ëÁË ÐpÁ×ÉÌØÎÏ?

SD> PS: ÷ ÷ÉÎÄÏ×ÏÍ ÐpÏÇpÁÍÍÉpÏ×ÁÎÉÉ Ñ ÎÅ ÓÐÅà - ÜÔÏ ×ÎyÔpÅÎÎÑÑ ÏÔÌÁÄÏÞÎÁÑ SD> ×ÅÝØ.

á ÞÔÏ, ÓÌÁÂÏ ÐÏÓÔÁ×ÉÔØ MS-DOS ÎÁ ÄÉÓËÅÔËy, ÚÁÌÉÔØ ÔyÄÁ FASM (ÄÁ ÈÏÔØ TASM ÔÏÔ ÖÅ), ÄÏËÉ ÐÏ 8251, vc.com, ÚÁÇpyÚÉÔØÓÑ Ó ÎÅÅ É ÎÁÐÉÓÁÔØ ÂÙÓÔpÅÎØËÏ ÐpÏÇpÁÍÍËy ËÏÔÏpÁÑ òáâïôáåô? IMHO Windows É Linux ÜÔÏ ÎÅ ÔÅ ÓÉÓÔÅÍÙ × ËÏÔÏpÙÈ ÍÏÖÎÏ ÓÅpØÅÚÎÏ ÞÅÍ-ÔÏ "ÖÅÌÅÚÎÙÍ" ÚÁÎÉÍÁÔØÓÑ.

Hello Timur!

Wednesday November 21 2007 20:26, Timur Sabiryanov sent a message to Sergey Davydov:

SD>> ÷ÏÐpÏÓ ÐÏ ÓÍÅÖÎÏÊ ÔÅÍÅ. XP, ÓÁÍÏÐÁÌØÎÙÊ ÐpÏÔÏËÏÌ. ðÏ ÚÁÐpÏÓy ÉÚ×ÎÅ SD>> ÎyÖÎÏ ÐÅpÅÓÔpÏÉÔØ ÓËÏpÏÓÔØ. ðÅpÅÄ ÜÔÉÍ ÎÁ ÓÔÁpÏÊ ÓÔÁpÏÊ ÓËÏpÏÓÔÉ SD>> ÏÔ×ÅÔÉÔØ "ÐÏÎÑÌ, ×ÙÐÏÌÎÑÀ". HÅ ÐÏÓÙÌÁÔØ ÐpÉ ÜÔÏÍ break × ÌÉÎÉÀ. HÁ SD>> WinAPI. ëÁË ÐpÁ×ÉÌØÎÏ? TS>

SD>> PS: ÷ ÷ÉÎÄÏ×ÏÍ ÐpÏÇpÁÍÍÉpÏ×ÁÎÉÉ Ñ ÎÅ ÓÐÅà - ÜÔÏ ×ÎyÔpÅÎÎÑÑ ÏÔÌÁÄÏÞÎÁÑ SD>> ×ÅÝØ. TS>

TS> á ÞÔÏ, ÓÌÁÂÏ ÐÏÓÔÁ×ÉÔØ MS-DOS ÎÁ ÄÉÓËÅÔËy, ÚÁÌÉÔØ ÔyÄÁ FASM (ÄÁ ÈÏÔØ TS> TASM ÔÏÔ ÖÅ), ÄÏËÉ ÐÏ 8251, vc.com, ÚÁÇpyÚÉÔØÓÑ Ó ÎÅÅ É ÎÁÐÉÓÁÔØ TS> ÂÙÓÔpÅÎØËÏ ÐpÏÇpÁÍÍËy ËÏÔÏpÁÑ òáâïôáåô?

ÎÕ ×Ï-ÐÅp×ÙÈ - ÎÅ 8251 Á 8250 (ÉÌÉ 16550), ×Ï-×ÔÏpÙÈ - ÐÏÄ ×ÉÎÄÁÍÉ ÓÏÍ-ÐÏpÔ ÍÏÖÅÔ ÂÙÔØ ÎÁÐpÉÍÅp USBÛÎÙÊ. É ÞÔÏ ÔÙ Ó ÜÔÉÍ ÂÕÄÅÛØ ÄÅÌÁÔØ × äïóÅ? ” Exit light, Enter night... See you, óÅÒÇÅÊ.

 X-Virus-Scanned: amavisd-new at bezeqint.net

Hello, Timur Sabiryanov! You wrote in conference fido7.ru.embedded to Sergey Davydov on Wed, 21 Nov

2007 20:26:53 +0300:

SD>> ÷ÏÐpÏÓ ÐÏ ÓÍÅÖÎÏÊ ÔÅÍÅ. XP, ÓÁÍÏÐÁÌØÎÙÊ ÐpÏÔÏËÏÌ. ðÏ ÚÁÐpÏÓy ÉÚ×ÎÅ SD>> ÎyÖÎÏ ÐÅpÅÓÔpÏÉÔØ ÓËÏpÏÓÔØ. ðÅpÅÄ ÜÔÉÍ ÎÁ ÓÔÁpÏÊ ÓÔÁpÏÊ ÓËÏpÏÓÔÉ SD>> ÏÔ×ÅÔÉÔØ "ÐÏÎÑÌ, ×ÙÐÏÌÎÑÀ". HÅ ÐÏÓÙÌÁÔØ ÐpÉ ÜÔÏÍ break × ÌÉÎÉÀ. HÁ SD>> WinAPI. ëÁË ÐpÁ×ÉÌØÎÏ?

SD>> PS: ÷ ÷ÉÎÄÏ×ÏÍ ÐpÏÇpÁÍÍÉpÏ×ÁÎÉÉ Ñ ÎÅ ÓÐÅà - ÜÔÏ ×ÎyÔpÅÎÎÑÑ SD>> ÏÔÌÁÄÏÞÎÁÑ ×ÅÝØ.

TS> á ÞÔÏ, ÓÌÁÂÏ ÐÏÓÔÁ×ÉÔØ MS-DOS ÎÁ ÄÉÓËÅÔËy, ÚÁÌÉÔØ ÔyÄÁ FASM (ÄÁ TS> ÈÏÔØ TASM ÔÏÔ ÖÅ), ÄÏËÉ ÐÏ 8251, vc.com, ÚÁÇpyÚÉÔØÓÑ Ó ÎÅÅ É TS> ÎÁÐÉÓÁÔØ ÂÙÓÔpÅÎØËÏ ÐpÏÇpÁÍÍËy ËÏÔÏpÁÑ òáâïôáåô? IMHO Windows É TS> Linux ÜÔÏ ÎÅ ÔÅ ÓÉÓÔÅÍÙ × ËÏÔÏpÙÈ ÍÏÖÎÏ ÓÅpØÅÚÎÏ ÞÅÍ-ÔÏ "ÖÅÌÅÚÎÙÍ" TS> ÚÁÎÉÍÁÔØÓÑ.

óÅÇÏÄÎÑ - Ó ÔÏÞÎÏÓÔØÀ ÄÏ ÎÁÏÂÏÒÏÔ. äÉÓËÅÔËÉ ÕÍÅÒÌÉ, ÄÉÓËÏ×ÏÄÙ × ÎÏ×ÙÅ ËÏÍÐÙ ÎÅ ÓÔÁ×ÑÔ. COM'Ù ÎÁ 8250 (8251 × òó ÎÉËÏÇÄÁ ÎÅ ÐÒÉÍÅÎÑÌÉÓØ, É ÞÉÔÁÔØ ÐÏ ÎÉÍ ÄÏËÉ ÂÅÓÓÍÙÓÌÅÎÎÏ) É ÓÏ×ÍÅÓÔÉÍÙÈ Ó 8250 ÔÏÖÅ ÏÔÍÉÒÁÀÔ (ÓËÁÖÅÍ × ÎÏÕÔÂÕËÁÈ ÜÔÏ ÂÏÌØÛÁÑ ÒÅÄËÏÓÔØ). HÁ×ÙËÉ ÐÉÓÁÎÉÑ ÎÁ 8086 ÁÓÓÅÍÂÌÅÒÅ ÐÏÄ DOS É ×Ï×ÓÅ ÎÉËÏÍÕ ÎÅ ÎÕÖÎÙ, × ÔÏ ×ÒÅÍÑ, ËÁË ÎÁ ó É ÐÏÄ ×ÉÎÄÕ ÜÔÏ ÏËÁÚÙ×ÁÅÔÓÑ ÎÅ ÔÁË ÕÖ É ÓÌÏÖÎÏ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ÎÅ ÉÎÔÅÒÅÓÕÅÔ ÍÎÏÇÏÚÁÄÁÞÎÏÓÔØ. úÁÔÏ ÒÁÂÏÔÁÅÛØ Ó ÄÒÁÊ×ÅÒÏÍ COM ÐÏÒÔÁ, Á ÕÖ ÎÁ ÞÅÍ ÏÎ ÔÁÍ ÁÐÐÁÒÁÔÎÏ ÒÅÁÌÉÚÏ×ÁÎ É Ë ÞÅÍÕ ÆÉÚÉÞÅÓËÉ ÐÏÄËÌÀÞÅÎ - ÄÅÌÏ ÄÅÓÑÔÏÅ.

dima

formatting link

Именно "серьёзно" и можно, т.е. больше ничем не заниматься. Это отдельная специальность - вындовый драйверист. Довольно редкая, кстати. А с дискеты можно запросто не загрузиться. Или понадобится постоянно переключаться (перезагружаться): попробовал под ДОСом, перезагрузился в вынду, внёс изменения в отлаживаемую фирмварь, снова в ДОС... Я бы поставил парочку хорошо знакомых МК (для меня это МЕГи), связал бы их между собой чем-нибудь (хоть SPI, хоть самодельный протокл с обменом ниблами) и заставил бы одну общаться с писюком всегда на полной скорости, а другую - отрабатывать внешний протокол.



Hello, Alexander Derazhne! You wrote in conference fido7.ru.embedded to Timur Sabiryanov on Wed, 21 Nov

2007 23:02:26 +0000 (UTC):

AD> ñ ÂÙ ÐÏÓÔÁ×ÉÌ ÐÁÒÏÞËÕ ÈÏÒÏÛÏ ÚÎÁËÏÍÙÈ íë (ÄÌÑ ÍÅÎÑ ÜÔÏ íåçÉ), AD> Ó×ÑÚÁÌ ÂÙ ÉÈ ÍÅÖÄÕ ÓÏÂÏÊ ÞÅÍ-ÎÉÂÕÄØ (ÈÏÔØ SPI, ÈÏÔØ ÓÁÍÏÄÅÌØÎÙÊ AD> ÐÒÏÔÏËÌ Ó ÏÂÍÅÎÏÍ ÎÉÂÌÁÍÉ) É ÚÁÓÔÁ×ÉÌ ÂÙ ÏÄÎÕ ÏÂÝÁÔØÓÑ Ó ÐÉÓÀËÏÍ AD> ×ÓÅÇÄÁ ÎÁ ÐÏÌÎÏÊ ÓËÏÒÏÓÔÉ, Á ÄÒÕÇÕÀ - ÏÔÒÁÂÁÔÙ×ÁÔØ ×ÎÅÛÎÉÊ ÐÒÏÔÏËÏÌ.

á ÎÅ ÐÒÏÝÅ ÕÖ ÔÏÇÄÁ ×ÚÑÔØ ÞÔÏ-ÔÏ ÄÐÕÈÐÏÒÔÏ×ÏÅ? äÁ É ËÁË-ÔÏ ÏÞÅÎØ ÓÔÒÁÎÎÏ ÄÅÌÁÔØ ÕÓÔÒÏÊÓÔ×Ï, ËÏÔÏÒÏÍÕ ÄÌÑ Ó×ÑÚÉ Ó PC ÐÏ COM (!) ÐÏÒÔÕ ÎÕÖÎÏ ÅÝÅ ÏÄÎÏ ÕÓÔÒÏÊÓÔ×Ï.

dima

formatting link

21 ÎÏÑÂpÑ 2007 23:15, Sergey Kosaretskiy ÐÉÓÁÌ Timur Sabiryanov:

TS>> á ÞÔÏ, ÓÌÁÂÏ ÐÏÓÔÁ×ÉÔØ MS-DOS ÎÁ ÄÉÓËÅÔËy, ÚÁÌÉÔØ ÔyÄÁ FASM TS>> (ÄÁ ÈÏÔØ TASM ÔÏÔ ÖÅ), ÄÏËÉ ÐÏ 8251, vc.com, ÚÁÇpyÚÉÔØÓÑ Ó ÎÅÅ É TS>> ÎÁÐÉÓÁÔØ ÂÙÓÔpÅÎØËÏ ÐpÏÇpÁÍÍËy ËÏÔÏpÁÑ òáâïôáåô? SK> ×Ï-×ÔÏpÙÈ - ÐÏÄ ×ÉÎÄÁÍÉ ÓÏÍ-ÐÏpÔ ÍÏÖÅÔ ÂÙÔØ ÎÁÐpÉÍÅp USBÛÎÙÊ. É ÞÔÏ ÔÙ SK> Ó ÜÔÉÍ ÂyÄÅÛØ ÄÅÌÁÔØ × äïóÅ?

ôÁËÏÅ ÄÅpØÍÏ Ñ ÓÅÂÅ ÎÅ ÐÏÓÔÁ×ÌÀ. ôÅÍ ÂÏÌÅÅ ÞÔÏÂÙ ÞÅÍ-ÔÏ ÓÅpØÅÚÎÙÍ ÚÁÎÉÍÁÔØÓÑ ÎyÖÎÁ É ÔÅÈÎÉËÁ ÓÏÏÔ×ÅÔÓÔ×yÀÝÁÑ, Á ÎÅ ÛÉpÐÏÔpÅ ÉÇpyÛÅÞÎÙÊ.
21 ÎÏÑÂpÑ 2007 23:17, Dmitry Orlov ÐÉÓÁÌ Timur Sabiryanov:

DO> óÅÇÏÄÎÑ - Ó ÔÏÞÎÏÓÔØÀ ÄÏ ÎÁÏÂÏpÏÔ. äÉÓËÅÔËÉ yÍÅpÌÉ, ÄÉÓËÏ×ÏÄÙ × ÎÏ×ÙÅ DO> ËÏÍÐÙ ÎÅ ÓÔÁ×ÑÔ. COM'Ù ÎÁ 8250 (8251 × òó ÎÉËÏÇÄÁ ÎÅ ÐpÉÍÅÎÑÌÉÓØ, É DO> ÞÉÔÁÔØ ÐÏ ÎÉÍ ÄÏËÉ ÂÅÓÓÍÙÓÌÅÎÎÏ) É ÓÏ×ÍÅÓÔÉÍÙÈ Ó 8250 ÔÏÖÅ ÏÔÍÉpÁÀÔ DO> (ÓËÁÖÅÍ × ÎÏyÔÂyËÁÈ ÜÔÏ ÂÏÌØÛÁÑ pÅÄËÏÓÔØ). HÁ×ÙËÉ ÐÉÓÁÎÉÑ ÎÁ 8086 DO> ÁÓÓÅÍÂÌÅpÅ ÐÏÄ DOS É ×Ï×ÓÅ ÎÉËÏÍy ÎÅ ÎyÖÎÙ, × ÔÏ ×pÅÍÑ, ËÁË ÎÁ ó É ÐÏÄ DO> ×ÉÎÄy ÜÔÏ ÏËÁÚÙ×ÁÅÔÓÑ ÎÅ ÔÁË yÖ É ÓÌÏÖÎÏ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ÎÅ ÉÎÔÅpÅÓyÅÔ DO> ÍÎÏÇÏÚÁÄÁÞÎÏÓÔØ. úÁÔÏ pÁÂÏÔÁÅÛØ Ó ÄpÁÊ×ÅpÏÍ COM ÐÏpÔÁ, Á yÖ ÎÁ ÞÅÍ ÏÎ DO> ÔÁÍ ÁÐÐÁpÁÔÎÏ pÅÁÌÉÚÏ×ÁÎ É Ë ÞÅÍy ÆÉÚÉÞÅÓËÉ ÐÏÄËÌÀÞÅÎ - ÄÅÌÏ ÄÅÓÑÔÏÅ.

Hy ÞÔÏ Ñ ÍÏÇy ÓËÁÚÁÔØ. úÁÂÉ×ÁÊÔÅ ÄÁÌØÛÅ Ç×ÏÚÄÉ Ó×ÏÉÍÉ ÍÉËpÏÓËÏÐÁÍÉ Ó ÐÏÄÓ×ÅÔËÏÊ :) óÅÇÏÄÎÑ P-100 ËyÐÉÔØ ÎÅ ÐpÏÂÌÅÍÁ IMHO, ÐpÉÞÅÍ ÐÏ ÂpÏÓÏ×ÏÊ ÃÅÎÅ. ôÁË ÞÔÏ... á ÎÁ×ÙËÉ... Hy ÞÔÏ ÔyÔ ÓËÁÖÅÛØ, ÜÄÁË ÄÏÊÄÅÔ ÄÏ ÔÏÇÏ, ÞÔÏ ÄÅÔñÍ × ÛËÏÌÅ ÂyË×ÁpÉ ÂyÄyÔ ÎÅ ÎyÖÎÙ.

22 ÎÏÑÂpÑ 2007 02:02, Alexander Derazhne ÐÉÓÁÌ Timur Sabiryanov:

AD> éÍÅÎÎÏ "ÓÅpأÚÎÏ" É ÍÏÖÎÏ, Ô.Å. ÂÏÌØÛÅ ÎÉÞÅÍ ÎÅ ÚÁÎÉÍÁÔØÓÑ. üÔÏ AD> ÏÔÄÅÌØÎÁÑ ÓÐÅÃÉÁÌØÎÏÓÔØ - ×ÙÎÄÏ×ÙÊ ÄpÁÊ×ÅpÉÓÔ. äÏ×ÏÌØÎÏ pÅÄËÁÑ, AD> ËÓÔÁÔÉ.

÷ÉÎÄÙ ÄÌÑ ÏÆÉÓÎÙÈ pÁÂÏÔÎÉËÏ×. *nixÙ ÄÌÑ ÓÅp×ÁËÏ×. HÅyÖÅÌÉ ÎÅ ÐÏÎÑÔÎÏ? :) á ×ÉÎÄÏ×ÏÇÏ ÄpÁÊ×ÅpÉÓÔÁ ÉÓËÁÔØ ÞÔÏ 2 ÂÁÊÔÁ ÐÅpÅÓÌÁÔØ - ÜÔÏ ÎÅpÁÃÉÏÎÁÌØÎÏ. ñ ÐpÅÄÌÏÖÉÌ ÐpÏÓÔÅÊÛÉÊ ÄÌÑ ÍÅÎÑ ×ÁpÉÁÎÔ. ôÁÍ yÖ Á×ÔÏp ×ÏÐpÏÓÁ ÐyÓÔØ ÓÁÍ pÅÛÁÅÔ ÞÔÏ ÅÍy ÐpÏÝÅ :))

AD> á Ó ÄÉÓËÅÔÙ ÍÏÖÎÏ ÚÁÐpÏÓÔÏ ÎÅ ÚÁÇpyÚÉÔØÓÑ.

üÔ. ÐÏÞÅÍy?

AD> éÌÉ ÐÏÎÁÄÏÂÉÔÓÑ ÐÏÓÔÏÑÎÎÏ ÐÅpÅËÌÀÞÁÔØÓÑ (ÐÅpÅÚÁÇpyÖÁÔØÓÑ): ÐÏÐpÏÂÏ×ÁÌ AD> ÐÏÄ äïóÏÍ, ÐÅpÅÚÁÇpyÚÉÌÓÑ × ×ÙÎÄy, ×ΣÓ ÉÚÍÅÎÅÎÉÑ × ÏÔÌÁÖÉ×ÁÅÍyÀ AD> ÆÉpÍ×ÁpØ, ÓÎÏ×Á × äïó...

äÁ ÅÐ!... ðÏÓÔÁר ÔÙ ×ÔÏpyÀ ÍÁÛÉÎy ÓÐÅÃÉÁÌØÎÏ ÄÌÑ ÔÁËÉÈ ÚÁÄÁÞ. ÷ ÓÁÍÏÍ ÄÅÌÅ ÔÙ ËÔÏ? ÉÎÖÅÎÅp ÉÌÉ ÍÅÎÅÄÖÅp × ÏÆÉÓÅ?

AD> ñ ÂÙ ÐÏÓÔÁ×ÉÌ ÐÁpÏÞËy ÈÏpÏÛÏ ÚÎÁËÏÍÙÈ íë (ÄÌÑ ÍÅÎÑ ÜÔÏ íåçÉ), Ó×ÑÚÁÌ AD> ÂÙ ÉÈ ÍÅÖÄy ÓÏÂÏÊ ÞÅÍ-ÎÉÂyÄØ (ÈÏÔØ SPI, ÈÏÔØ ÓÁÍÏÄÅÌØÎÙÊ ÐpÏÔÏËÌ Ó AD> ÏÂÍÅÎÏÍ ÎÉÂÌÁÍÉ) É ÚÁÓÔÁ×ÉÌ ÂÙ ÏÄÎy ÏÂÝÁÔØÓÑ Ó ÐÉÓÀËÏÍ ×ÓÅÇÄÁ ÎÁ AD> ÐÏÌÎÏÊ ÓËÏpÏÓÔÉ, Á ÄpyÇyÀ - ÏÔpÁÂÁÔÙ×ÁÔØ ×ÎÅÛÎÉÊ ÐpÏÔÏËÏÌ.

üÈ... ìÁÄÎÏ, ÐpÉÄyÍÙ×ÁÊÔÅ ÇÅÍÏppÏÊ ÄÁÌØÛÅ... á ÅÓÌÉ ÏÛÉÂËÁ ÇÄÅ? :) íÅÓÔ ÅÅ ÏÔÙÓËÁÎÉÑ ÓÔÁÎÅÔ ÇÏpÁÚÄÏ ÂÏÌØÛÅ. ôÁËÏÅ ÏÝyÝÅÎÉÅ ÞÔÏ ÏÂÝÁÀÓØ Ó ÔÅÏpÅÔÉËÁÍÉ ÂÌÉÎ... ÉÌÉ Ó Çypy ËÏÔÏpÙÅ ÎÉ pÁÚy ÎÅ ÄÅÌÁÌÉ ÏÛÉÂÏË.


Hello, Timur Sabiryanov! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Thu, 22 Nov

2007 12:46:30 +0300:

DO>> óÅÇÏÄÎÑ - Ó ÔÏÞÎÏÓÔØÀ ÄÏ ÎÁÏÂÏpÏÔ. äÉÓËÅÔËÉ yÍÅpÌÉ, ÄÉÓËÏ×ÏÄÙ × DO>> ÎÏ×ÙÅ ËÏÍÐÙ ÎÅ ÓÔÁ×ÑÔ. COM'Ù ÎÁ 8250 (8251 × òó ÎÉËÏÇÄÁ ÎÅ DO>> ÐpÉÍÅÎÑÌÉÓØ, É ÞÉÔÁÔØ ÐÏ ÎÉÍ ÄÏËÉ ÂÅÓÓÍÙÓÌÅÎÎÏ) É ÓÏ×ÍÅÓÔÉÍÙÈ Ó DO>> 8250 ÔÏÖÅ ÏÔÍÉpÁÀÔ (ÓËÁÖÅÍ × ÎÏyÔÂyËÁÈ ÜÔÏ ÂÏÌØÛÁÑ pÅÄËÏÓÔØ). DO>> HÁ×ÙËÉ ÐÉÓÁÎÉÑ ÎÁ 8086 ÁÓÓÅÍÂÌÅpÅ ÐÏÄ DOS É ×Ï×ÓÅ ÎÉËÏÍy ÎÅ ÎyÖÎÙ, DO>> × ÔÏ ×pÅÍÑ, ËÁË ÎÁ ó É ÐÏÄ ×ÉÎÄy ÜÔÏ ÏËÁÚÙ×ÁÅÔÓÑ ÎÅ ÔÁË yÖ É DO>> ÓÌÏÖÎÏ, ÏÓÏÂÅÎÎÏ ÅÓÌÉ ÎÅ ÉÎÔÅpÅÓyÅÔ ÍÎÏÇÏÚÁÄÁÞÎÏÓÔØ. úÁÔÏ pÁÂÏÔÁÅÛØ DO>> Ó ÄpÁÊ×ÅpÏÍ COM ÐÏpÔÁ, Á yÖ ÎÁ ÞÅÍ ÏÎ ÔÁÍ ÁÐÐÁpÁÔÎÏ pÅÁÌÉÚÏ×ÁÎ É Ë DO>> ÞÅÍy ÆÉÚÉÞÅÓËÉ ÐÏÄËÌÀÞÅÎ - ÄÅÌÏ ÄÅÓÑÔÏÅ.

TS> Hy ÞÔÏ Ñ ÍÏÇy ÓËÁÚÁÔØ.

óËÁÚÁÔØ ÔÅÂÅ ÎÅÞÅÇÏ, ÜÔÏ ÚÁÍÅÔÎÏ, ÎÏ ÏÞÅÎØ ÈÏÞÅÔÓÑ.

TS> úÁÂÉ×ÁÊÔÅ ÄÁÌØÛÅ Ç×ÏÚÄÉ Ó×ÏÉÍÉ ÍÉËpÏÓËÏÐÁÍÉ Ó ÐÏÄÓ×ÅÔËÏÊ :) óÅÇÏÄÎÑ TS> P-100 ËyÐÉÔØ ÎÅ ÐpÏÂÌÅÍÁ IMHO,

óÅÇÏÄÎÑ ÜÔÏ ÐÒÏÓÔÏ ÎÅ×ÏÚÍÏÖÎÏ. íÏÖÎÏ ÓÌÕÞÁÊÎÏ ÎÁÊÔÉ ÉÓÐÒÁ×ÎÙÊ ÎÁ Ó×ÁÌËÅ, ÎÏ É ÔÁÍ ÕÖÅ ×ÓÅ ÂÏÌØÛÅ P IV ÐÏÐÁÄÁÀÔÓÑ. óÔÒÏÉÔØ "ÓÅÒØÅÚÎÕÀ ÒÁÂÏÔÕ" ÎÁ ÐÏÍÏÅÞÎÙÈ ËÏÍÐÌÅËÔÕÀÝÉÈ ÐÒÅÄÏÓÔÁ×ÌÀ ÔÅÂÅ, ÅÓÌÉ ÏÎÏ ÔÅÂÅ ÔÁË ÎÒÁ×ÉÔÓÑ. äÒÕÇÉÍ ÓÏ×ÅÔÏ×ÁÔØ ÜÔÏ ÎÅ ÎÕÖÎÏ.

TS> ÐpÉÞÅÍ ÐÏ ÂpÏÓÏ×ÏÊ ÃÅÎÅ. ôÁË ÞÔÏ... á ÎÁ×ÙËÉ... Hy ÞÔÏ ÔyÔ ÓËÁÖÅÛØ, ÜÄÁË ÄÏÊÄÅÔ ÄÏ ÔÏÇÏ, ÞÔÏ TS> ÄÅÔñÍ × ÛËÏÌÅ ÂyË×ÁpÉ ÂyÄyÔ ÎÅ ÎyÖÎÙ.

HÕÖÎÙ ÌÉ × ÛËÏÌÅ ÂÕ×ÁÒÉ ÐÕÓËÁÊ ÓÐÅÃÉÁÌÉÓÔÙ ÐÅÄÁÇÏÇÉ ÒÅÛÁÀÔ, Ñ ÔÕÔ ÎÅ ËÏÍÐÅÔÅÎÔÅÎ (ÔÙ, ×ÅÒÏÑÔÎÏ, ÔÏÖÅ). á ×ÏÔ ÉÚÕÞÁÔØ ÍÅÒÔ×ÙÅ ÔÅÈÎÏÌÏÇÉÉ - ÜÔÏ ÚÁ×ÅÄÏÍÏ ÐÕÓÔÁÑ ÔÒÁÔÁ ÓÉÌ, ÏÓÏÂÅÎÎÏ ÕÞÉÔÙ×ÁÑ ÔÏ, ÞÔÏ ÎÁ ÉÚÕÞÅÎÉÅ ÖÉ×ÙÈ ÕÓÉÌÉÊ ÎÁÄÏ ÐÏÔÒÁÔÉÔØ ÐÒÉÍÅÒÎÏ ÓÔÏÌØËÏ ÖÅ, ÔÏÌØËÏ Ó ÂÏÌÅÅ ÐÒÁËÔÉÞÅÓËÉ ÐÏÌÅÚÎÙÍ ÒÅÚÕÌØÔÁÔÏÍ. ÷ ÓÕÈÏÍ ÏÓÔÁÔËÅ, Õ ÍÅÎÑ Ó ËÏÎÔÒÏÌÌÅÒÏÍ PC ÐÏÄ Windosw ÞÔÏ ÐÏ ÁÐÐÁÒÁÔÎÏÍÕ ÞÔÏ ÐÏ USB ÞÔÏ ÐÏ Ethernet COM ÐÏÒÔÕ ÒÁÂÏÔÁÅÔ, É ÎÁÐÉÓÁÔØ ÜÔÕ ÐÒÏÇÒÁÍÍÕ ÏËÁÚÁÌÏÓØ ÎÅ ÓÌÏÖÎÅÊ, ÞÅÍ ÎÁ 8086 ÁÓÓÅÍÂÌÅÒÅ ÄÌÑ 8250 (× Ó×ÏÅ ×ÒÅÍÑ ÄÅÌÁÌ É ÜÔÏ É ÄÌÑ 8251 ÔÏÖÅ). HÏ × ÜÈÅ ÅÓÔØ ËÕÄÁ ÂÏÌÅÅ ÐÒÏÆÅÓÓÉÏÎÁÌØÎÏ ÞÅÍ Ñ ×ÌÁÄÅÀÝÉÅ ÐÏÄÏËÏÎÎÙÍ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÅÍ ÌÀÄÉ, ÐÕÓÔØ ÏÎÉ É ÓÏ×ÅÔÕÀÔ.

dima

formatting link

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

А потому что не работает. У меня, например, 3.5 дискетник просто дырку в морде прикрывает. Hа другой масынке, правда, есть ещё и 5", но не знаю рабочий-ли он, там АТ-материнка сдохла, ни заменить, ни отремонтировать (ха!). Так и стоит в качестве подставки для принтера. Да и нет уверенности, что ДОС подхватит современную железяку.

А где я её возьму (с "приданым", т.е. с клавиатурой, монитором и т.д.), куда поставлю и что буду делать с ней потом? Было у меня такое, пришлось одно время работать на двух машинах ради двух разных неуживающихся версий софта (Заказчик требовал поддержки обеих). Удовольствие ниже среднего.

Ключевые слова "я бы". _Я_ описываю то решение, которое _для_ _себя_ считаю наименее геморройным. Для программироваия чего-либо на писюке _я_ предпочитаю взять в руки джаву, а если нужен обмен через порт, то добавляю с сана джавакомм. А отработку времянок и разных нестандартностей лучше делать на МК. IMHO.

P.S. В самой постановке задачи есть подводный камень, который тут уже как-то обсуждался, правда, по другому поводу - нужно точно знать время физического "ухода" последнего стоп-бита.

>
èÁÊÌØ çÉÔÌÅp ËÁÐyÔ, Timur! þÅÔ×ÅpÇ HÏÑÂpØ 22 2007 12:49, Timur Sabiryanov wrote to Alexander Derazhne:

AD>> á Ó ÄÉÓËÅÔÙ ÍÏÖÎÏ ÚÁÐpÏÓÔÏ ÎÅ ÚÁÇpyÚÉÔØÓÑ. TS> üÔ. ÐÏÞÅÍy?

÷ ÓÁÍÙÈ ÓÏ×pÅÍÅÎÎÙÈ ÞÉÐÓÅÔÁÈ ÐpÏÓÔÏ ÏÔÓyÔÓÔ×yÅÔ ËÏÎØÔpÏÌÌÅp ÄÉÓËÏ×ÏÄÁ. ÷ÏÏÂÝÅ. á ÐÏËyÐÁÔØ ×ÎÅÛÎÉÊ USB ÄÉÓËÏ×ÏÄ ÔÅÂÅ pÅÌÉÇÉÑ ÎÅ ÐÏÚ×ÏÌÉÔ.

íÁÊËÌ

Вам -- нельзя. Остальным -- по мере возможностей...

А аффтар -- ламир. Hе знает, что классические *nix (да, да, фирмы AT&T) вполне являлись и workstation's и home pc. У меня дома такой стоит, так что я знаю о чём я. Равно как и современные *nix-like ОС бывают не только сервер-ориентированные. Так и что на Windows NT запосто делаются банкоматы и "столбики" для приёма денег у населения. Что существует Windows XP Embedded. Что тот же Debian, например, превращается из сервера в десктоп и обратно просто (не)установкой соответствующих софтов. И наконец, что нет никакой необходимости ни в Solaris, ни в BSD, ни в Linux, ни в Windows NT и 9x в драйверах для переключения скорости COM-порта...

Потому, что протухли они безнадёжно за последние 20 лет.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required