Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: eVB+COM port  (Прочитано 26387 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Frikazoid
Гость
« : 18-12-2003 00:25 » 

Доброго времени суток Господа.
Я тут сделал программу на eVB работающую с ком портом! Сами понимаете, что тормозит жудко! пологаю, что через апи функции будет быстрее. Кто может предложить альтернативное решение стандартному компоненту. Может длл на eVC? Я сам со средами от мелких никогда не работал, поэтому мне всё в новинку!
Помогите мне плз!
Заранее благодарен!

ЗЫ Я проверял прогу на эмуляторе+хук на ком порт, так вот, после каждого отосланного байта стандартный компонент меняет какие-то настройки! всегда одни и те-же! Я так пологаю, что это и тормозит...
Записан
NeilPryde
Гость
« Ответ #1 : 18-12-2003 07:21 » 

Если можно использовать API, то почему бы не попробовать работать с ним? Правда, я не представляю как они вызываются в eVB.
Записан
Frikazoid
Гость
« Ответ #2 : 19-12-2003 16:08 » 

ну а всётаки....
Как это мона сделать?
Ну  на крайняк киньте в меня длл на eVC плз!
пожалуйста! А то меня эти тормоза задрали! И пока нет возможности выучить более культурные языки программинга eVC к примеру!
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #3 : 21-12-2003 14:55 » 

По ссылке FAQ есть архив старого форума в формате винхелп.
Скачай и в нем найдешь полный код работы с СОМ портом через АПИ на С++

Названия АПИ функций в бейсике вроде от майкрософта не менялись.

И не пробуй открывать кучу тем, достаточно поднять эту, если ен смогли сразу заметить.  Ага
Записан

А птичку нашу прошу не обижать!!!
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #4 : 22-12-2003 12:14 » 

Действительно, при чем тут язык? API они всегда API. Почитай здесь, лично я по этому материалу все освоил...   Вот такой я вот
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceseril/html/cmconopeningport.asp
Записан
Frikazoid
Гость
« Ответ #5 : 22-12-2003 12:18 » 

Для eVC или для VC? Тут есть разница! Просто я нашёл один сырец портирования АПИ в eVB из обычного VB но это не заработало!
Если у кого-то есть возможность откомпилить длл, то сделайте это плз! Просто я уже пол нета облазил в поисках нужного, а резулт - 0!
Спасибо!

ЗЫ Сорри что размножил темы, просто надо очень!!!
Записан
Frikazoid
Гость
« Ответ #6 : 22-12-2003 12:22 » 

извиняюсь за неточность! тот пример просто показывал как пользовать апи под VB и я попытался это перенести на eVB!
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #7 : 22-12-2003 12:23 » 

Я тебе могу исходники кинуть. Правда, они на eVC, но ты, я думаю, сможешь перевести? Просто у меня сейчас времени ноль, чтобы все это оформлять...  Жаль Ну что, исходники нужны? разберешься?
Записан
Frikazoid
Гость
« Ответ #8 : 23-12-2003 09:20 » 

Давай что есть! Разберусь!
Спасибо
frikazoidam@pisem.net
Записан
Frikazoid
Гость
« Ответ #9 : 03-01-2004 20:22 » 

Люди помогите ПЛЗ! С сями не имел я дела! ничего не выходит!
Записан
FoxVID
Гость
« Ответ #10 : 05-01-2004 07:30 » 

Посмотри информацию на русском здесь http://bcbsql.narod.ru/pub/rabcomm.htm
Цитата

С сями не имел я дела!

Для того, чтобы использовать API - придется иметь :?   Вот такой я вот
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #11 : 06-01-2004 00:11 » 

Хм... Frikazoid, да для использования API и не нужно знание C... API - они общие для всех языков. Вообще про все это очень хорошо написано в MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcecomm/html/_wcesdk_programming_serial_connections.asp
Если будет непонятно - просто банально переноси куски кода оттуда к свой проект. В смысле не изменяя DCB и параметры тайм-аутов  Ага
Записан
FoxVID
Гость
« Ответ #12 : 06-01-2004 07:08 » 

Archangel, извини, но не согласен. DCB ему однозначно придется разбирать по косточкам. И параметры этой структуры придется ставить в соответствии с тем протоколом, который используется в управляемом устройстве. А если ставить асинхронный режим, то и с потоками и их синхронизацией надо разбираться.
А банальный перенос кусков кода вряд ли поможет.  Вот такой я вот
Записан
Frikazoid
Гость
« Ответ #13 : 06-01-2004 14:18 » 

Люди....
Вы что не поняли?  Так больше нельзя... В eVB очень трудно пользовать API! Я не видел ни одного примера АПИ на eVB зато дофига на VB! Понимаете? Я паробовал перенести на eVB из VB а он ругнулся на меня! Может кто-то напишет всё таки dll на eVC? Я буду очень благодарен!
Спасибо!
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #14 : 06-01-2004 17:09 » 

Во первых - как ругнулся и на что?
Я пользовался АПИ на еВБ и на еВС - так что все ОК.
Есть конечно различия в прототипах - и параметрах иногда.

Кроме того - не зная текста ругани и программного кода на что ругань, невозможно ничего посоветовать - давай печатай что на что ругается и как.

Второе.
Как ты меряешь скорость работы с СОМ портом?Не понял Я очень удивлюсь, если стандартная настроенная компонента будет работать медленнее кустарного кода.

Причин много - но одна основная - работа железа никогда не зависила от компилятора и средства разработки программ для него.

Так что боюсь, что скорость ты просто неверно меряешь...
Напиши каким образом ты видишь замедление работы. С чем сравниваешь.  :?:
Записан

А птичку нашу прошу не обижать!!!
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #15 : 06-01-2004 19:58 » 

FoxVID, твоя правда, во всем надо разбираться, но может и так прокатить. На случай если копаться некогда. А вообще ты безусловно прав...  Улыбаюсь
Frikazoid, слушай, ты пиши по существу! Пока что ни одного конкретного вопроса от тебя не прозвучало, кроме
Цитата

Может кто-то напишет всё таки dll на eVC?

Начни сам разбираться, а если возникнет КОНКРЕТНЫЙ вопрос - пиши, мы обязательно поможем! Отлично Пиши, где конкретно прога ругается, тогда поговорим. Кстати, к слову сказать, в MSDN описаны готовые классы для работы с COM портом. Правда уж больно страшны они на вид, но если хочется чего-то готового и чтобы сразу...   Здесь была моя ладья...
Записан
Frikazoid
Гость
« Ответ #16 : 09-01-2004 20:16 » 

Значит так!
Была у меня задача в короткие сроки написать прогу работающую с ком портом на PPC! И была у меня готовая прога на паскале! И нашел я эмулятор доса и поставил туда эту прогу! работает всё на 100% и все довольны! только вот эмулятор больно часто вешался после чего приходилось делать хардресет! и сказал мне начальник чтоб я всю под маздай сделал. И я сделал. И то что получилось работает в 1.5 раза медленнее! И это слишком долго!

После изучени проблемы я выяснил, что тормозит именно хардварня часть проги! (прога на eVB является полным портом и никаких доп ф-й нет). Я выяснил, что стандартный компонент в eVB после каждого отосланного символа меняет какие-то там настройки порта! что занимает драгоценное время! Какие именно настройки я не могу выяснить! Перерыл кучу доков по этой теме, но работа с ком портом под покет редкая птица! А скорость подключения я меняю стандартными средствами того компонента!

Про апи скажу такое... MS компиллер не знает что такое полное описывание ошибок! порой он может сказать, что прога просто не работает и всё! даже не скажет где именно! И потом перерывай пол кода! так что конкретного ответа на вопрос что именно там не работает у меня нет! а код взят из проги на VB (я адаптировал его для eVB), который я утратил за давностью лет...  Отлично

ЗЫ Получается что эмулятор обычного х86, который работает со скоростью 33MHz круче чем прога на eVB работающаяя на 400? Я ошибаюсь? Может и так! но что делать я не знаю...
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #17 : 09-01-2004 22:20 » 

Цитата

порой он может сказать, что прога просто не работает и всё!

А ты выложи на всеобщее обсуждение то, что он выводит!  Отлично Что-то мне подсказывает, что разобраться в этом можно.
Цитата

MS компиллер не знает что такое полное описывание ошибок!

Может, он еще должен решение писать?  Отлично  Отлично  А было бы неплохо... Только скучно уж очень!  :twisted:
Цитата

Перерыл кучу доков по этой теме, но работа с ком портом под покет редкая птица!

См. мою ссылку чуть выше. Там ВСЕ написано. И не надо изобретать велосипед и лопатить литературу. Работа с COM портом под PocketPC ничем не отличается от работы на простом PC... Если  не так, поправьте...   Вот такой я вот
Записан
Frikazoid
Гость
« Ответ #18 : 10-01-2004 00:06 » 

Тем не менее возникают вопросы, да?
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #19 : 10-01-2004 12:42 » 

Я сам как сделал: сначала отладил механизм передачи данных с КПК на ПК. А когда стал делать обратную передачу данных, просто сделал Ctrl+C -- Crtl-V. Конечно, функции, отвечающие за ввод-вывод, пришлось изменить, но API остались нетронутыми (совсем) => разницы нет.  Улыбаюсь
Записан
Frikazoid
Гость
« Ответ #20 : 10-01-2004 13:31 » 

А вот тут я не совсем понял!
Сори! Кто ни будь может написать хоть пару строк с апи на eVB!
Иногда такие проблемы вгоняют меня в ступор и пока мне не разжуют я не пойму!
  Вот такой я вот   Так больше нельзя...  Жаль
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #21 : 10-01-2004 15:04 » 

Frikazoid, я просто с VB никогда дела не имел (в смысле никогда сам не программил).
hPort = CreateFile (lpszPortName, GENERIC_READ | GENERIC_WRITE,
                             0, NULL, OPEN_EXISTING, 0, NULL);
Это пример открытия файла. Переменная hPort должна быть типа HANDLE. Это встроенный тип Windows (в том числе и WinCE). В Бэйсике объявление должно как-то так выглядеть:
Dim hPort As HANDLE; //На С это выглядит так: HANDLE hPort;
Сразу говорю - это может не работать, я только готовый код на VB разобрать могу, а сам на нем никогда не программил.  :oops:
Записан
Frikazoid
Гость
« Ответ #22 : 10-01-2004 16:26 » 

Да я работал с апи! Вот тока на eVB у меня проблемы возникли с этим делом!
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #23 : 10-01-2004 18:47 » 

Какие? Боюсь показаться занудой, но ты так и не раскололся, что конкретно у тебя не работает!  Отлично
Записан
Frikazoid
Гость
« Ответ #24 : 11-01-2004 00:30 » 

Как говорил незабвенный компиллер прога не работает(конкретно).  Отлично  
Я тоже боюсь показаться ... но помоему кусок кода будет гораздо более красноречивым, чем весь этот трёп и разбор моих ошибок! Я всегда учился на сырцах! Так легче! Понимаете?
Ну киньте в меня плз куском кода! пожалуйста! А? Не люблю я АПИ! Это всё воспитание Delphi! Если бы я вовремя стал учить С++ то этого бы небыло!  Так больше нельзя... Слёзно, да? Отлично
Скажу только то, что кроме этого у меня ещё куча работы и учёба и тратить уйму времени на ловлю багов просто нет желания. Я и так над этим делом довольно много бЪюсь! Понимаю что это не по программерски но что поделать! Не бейте меня, да? Жаль не сложилось у меня с ком портом в драном бейсике!
Вы просто не представляете себе что такое всё время иметь дело с девайсами у которых интерфейс RS-232! И у каждого свои приколы и для каждого нужен свой софт под дос под Маздай и под МаздайЦЕ! Жопа с большой буквы! Думаете я не люблю решать проблемы? да я получаю кайф когда в очередной раз в 3 часа ночи у меня всё получается и я радостно хлопаю в ладоши! Но в данном случае всё зашло немного дальше и я видеть этот покет уже не могу!
Фух.......

ЗЫ Тем более покет у меня очень редко, так что тестить проги времени совсем нет! Эмулятор не подходит....... Хардваре чать требует реальных девайсов!

ЗЗЫ Кончайте эту тему, да Жаль
Записан
Mouse
Молодой специалист

ru
Offline Offline

« Ответ #25 : 11-01-2004 14:04 » 

Представляем, имели дело...
Цитата

Скажу только то, что кроме этого у меня ещё куча работы и учёба и тратить уйму времени на ловлю багов просто нет желания.

У нас тоже учеба, куча работы + нехватка времени (лично у меня сейчас 1 несданный экзамен, 2 проекта на работе, любимая девушка, статьи по .NET, спорт... дальше продолджать?). И почему ты думаешь, что если у тебя нет желания ловить свои баги, то у нас должно найтись время и желание делать за тебя ПОЛНОСТЬЮ ТВОЮ РАБОТУ???  :?:
Цитата

Кончайте эту тему, да

Наверное, так и надо сделать, хорошая идея!   Здесь была моя ладья...
Записан
Frikazoid
Гость
« Ответ #26 : 11-01-2004 21:05 » 

Не спорю! ты круче!
Но я лишь просил кинуть кусок кода и никого не заставлял!
Вот и все!
Записан
Frikazoid
Гость
« Ответ #27 : 12-01-2004 14:19 » 

Да, забыл спросить! почему все набросились на апи? я же в своём посте говорил и про другие аспекты проблемы! и никто не ответил! как так?
Жаль Жаль
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines