|
Виж темите без отговор | Виж активните теми
Дата и час: Пон Юли 27, 2026 9:56 am
| Автор |
Съобщение |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Ако имаш възможност погледни сорс кода, ако се използва CreateFile() за отваряне на COM порта, ще работи на всички Win32 базирани ОС ( Win95..WinXP ). Ако е 16-битов сорс код, то тогава COM порта се отваря с OpenComm().
П.П.
Колкото до API функциите, ако държиш да ги научиш, линка който ти сложих в първия пост точно това обяснява: http://msdn.microsoft.com/library/en-us ... serial.asp
Ако изтеглиш C сорса и го компилираш с Visual Stidio ти гарантирам, че ще работи, защото първо го прекарах през Visual Studio, след това го компилирах на Borland. И при двете компилации използвах WinXP SP1, но работи и под SP2.
Последна промяна ¶ на Пон Юни 13, 2005 2:42 pm, променена общо 2 пъти
|
| Пон Юни 13, 2005 2:36 pm |
|
 |
|
Cvetanov
Ранг: Новодошъл
Регистриран на: Пон Фев 21, 2005 2:14 pm Мнения: 191 Местоположение: Varna
|
линковете които съм дал са за същата статия от пдф-а
само че има и компилирана програмка на база този код
та като я изтеглиш и пуснеш ще разбереш дали този код работи под ХР
ЕДИТ//
като гледам pirev ти е дал абсолютно същия линк още в началото 
_________________ Шанс едно на милион, обикновено се случва девет от десет пъти.
|
| Пон Юни 13, 2005 2:40 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
Това ли не можеш да отвориш ?
|
| Пон Юни 13, 2005 2:56 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Отворих го. .МАК трябвало да отворя ама къде да съм виждал такова нещо,и става само с старото студио.
.Net вече не поддържа такива древности.
|
| Пон Юни 13, 2005 3:03 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Добре че са братята руснаци. Ето тук открих много по въпроса.
http://www.rs232.ru/doc002.html
|
| Пон Юни 13, 2005 4:11 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
Ей, някой път много ви се чудя  Давам ви библиотеки "Ready-to-go"...пишеш едно "use xxxxx" и оттам нататък работиш с по 1-2 реда - SendString/RecieveStr...хората за удобство са направили и функции като RecvStrEx(Lenght: integer; Timeout: Cardinal)...няма по-просто и лесно от това/ 
|
| Пон Юни 13, 2005 4:44 pm |
|
 |
|
Nikola Kirov
Ранг: Форумен бог
Регистриран на: Нед Окт 31, 2004 9:19 pm Мнения: 4464 Местоположение: Stara Zagora
|
Да но за Delphi.
А и е интересно и да си го направиш сам.
|
| Пон Юни 13, 2005 4:59 pm |
|
 |
|
forest_gump
Ранг: Професионалист
Регистриран на: Сря Окт 13, 2004 11:24 pm Мнения: 500 Местоположение: Стара Загора
|
Никола, ако ще правиш обмен със максимална натовареност, е добре да използваш /SetEvent, EnterCriticalSection и LeaveCriticalSection/ във трийда който ще ти обработва приемането,това са функции на API-то и предполагам че така ще се казват и на Ц++, ако не е необходим критичен обмен просто си постави тайм аути и си чети софтуерно RX буфера. Това дето ти го казвам го видях в един компонент за делфи, преди да го срещна имах много главоболия при максимална натовареност на кома, поради многозадачноста на вина ако времето м/у пристигането на 2 последователни байта е по малко в сравнение с времето за тяхното четене и обработка то рано или късно приемният буфер ще се напълни, със SetEvent си стартираш трийда непосредствено след пристигане на байт а със EnterCriticalSection указваш на вина да нети краде процесора докато не стигнеш до LeaveCriticalSection м/у тях си правиш четенето и обработката на байта от кома, това е най бързият начин за обработка на сигнал от кома , когато създаваш манипулатор към кома със CreateFile трябва да използваш флага FILE_FLAG_OVERLAPPED .
|
| Чет Юни 16, 2005 9:58 pm |
|
|
Кой е на линия |
Потребители разглеждащи този форум: jordan-bg и 7 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|