| imho.ws |
![]() |
|
|
|
# 2 |
|
Member
Регистрация: 23.03.2002
Сообщения: 206
![]() |
тут без тредов не обойтись. иначе если чтение зациклить, то программа глючить будет.
поищи на http://www.delphikingdom.ru/, там хоть и дельфа, но функции winAPI используются |
|
|
|
|
# 3 |
|
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
Смотри здесь:
http://sources.ru/cpp/cpp_com_port.shtml
__________________
Best Regards |
|
|
|
|
# 4 |
|
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
http://msdn.microsoft.com/library/de...sdn_serial.asp
Лучшее об'яснение по работе с серийными портами в Вин32. Рабочий код внутри (аппликация MTTTY ). Для нормальной работы таки нужны треды и Overlapped I/O. Последний раз редактировалось crawler; 07.12.2004 в 14:27. |
|
|
|
|
# 6 | |
|
Member
Регистрация: 23.03.2002
Сообщения: 206
![]() |
Цитата:
http://www.delphikingdom.ru/asp/view...723&mode=print |
|
|
|
|
|
# 9 |
|
Full Member
Регистрация: 11.12.2002
Сообщения: 864
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Гхы.. запускаешь прогу на другом компе и читаешь из порта. Можно спаять кабелек и слать с одного порта на другой. Все как rkorchagin сказал.
Треды - типа параллельных процессов в Винде. Если не запараллелить чтение,запись и интерфейс - то одно будет тормозить другое, и прога будет глючить. Не забудь определить буффера обмена побольше - особенно на высоких скоростях- ставь 10-50 мег. |
|
|
|
|
# 11 |
|
Junior Member
Регистрация: 19.05.2003
Адрес: Самара
Сообщения: 52
![]() |
Ну блин ваще :(
Вот интересно, те, кто дает советы тут, хоть раз что-нибудь работающее и законченное делал с этим самым комом?
1 Лучше пользоваться компонентами специально сделанными. 1.1 Берите mscomm, которы родной микросовтовский активикс. С другими бывают некоторые непонятки и глюки (по крайней мере с теми с котрыми я пробовал). 2 Треды использовать желательно, но не обязательно, если правильно сделать (проверять есть ли в буфере столько, сколько собрались читать), то все работает замечательно и без тредов!!! 3 По поводу чтения из порта на другом компе... Я не знаю, ты из вообще перд этим кабелем соеденил? Точно соеденил? А кабель у тебя нуль-модемный??? (Кабель от модема не подойдет, т.к. о модемный). Если не знаешь, чем отличаются, см. в сети. Ифы навалом. Если у тебя кабель правельный, то читаешь, так же как и пишешь, только наоборот. Рас разобрался как писать, то читать, также, только вместо "Write", пишешь "Read". Это все описано даже в хелпе. ЗЫЖ Я писал на делфи, но разници в принципе все равно нет.
__________________
Когда у оппонента кончаются аргументы, он начинает уточнять национальность. |
|
|
|
|
# 12 | |
|
Member
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245
![]() ![]() |
Цитата:
Но если говорить про компоненты то советую обратить внимание на Greenleaf CommX - http://www.microway.com.au/catalog/list_comm.htm Покруче чем mscomm, но к сожалению не бесплатен.
__________________
Best Regards |
|
|
|
|
|
# 13 |
|
Junior Member
Регистрация: 19.05.2003
Адрес: Самара
Сообщения: 52
![]() |
На API слишком геморройно. Смысла особого нет. Я первый раз делал прогу для работы с желзкой исключительно на API (просто не знал, и лень было искать что есть mscomm).
Я не утверждаю, что mscomm вер совершенства. Просто он простой и ПРАВИЛЬНО работающий. Я когда пробовал разные компаненты, заработал как положено только он. Работать надо было не с модемом (с ним все работали хорошо), а опять же с контроллером. Кстати, никаких потоков не пользовал. MsComm тоже не совсем бесплатен... но это все лечится, а если лечить по каким-то соображениям нельзя, то для рантайм он бесплатен.
__________________
Когда у оппонента кончаются аргументы, он начинает уточнять национальность. |
|
|
|
|
# 14 |
|
Full Member
Регистрация: 02.10.2003
Пол: Male
Сообщения: 869
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Граждане, помогите, подскажите
Нужно сделать прожку (предположительно на ВБА, которая должна записывать/считывать инфу через сом-порт. Опыт програмирования у меня не большой, но программа простенькая и как заставить ее работать я приблизительно представляю. Проблема в том, что в документации по ВБА я не нашел способа обращения к ком-порту, т.е. я прочитал, что COM1, COM2, LPT и пр. это зарезервированные имена, но вот как к ним обращаться я понятия не имею. Подскажите как это сделать в ВБА или подскажите альтернативный способ решения проблемы (считанные с устройства данные мне бы хотелось получать в Эксель) Заранее спасибо |
|
|
|
|
# 16 |
|
Junior Member
Регистрация: 16.04.2004
Сообщения: 53
![]() |
Я как то делал на VBA, в Exel считывал данные с микрометра, который был подключен через Com порт. Использовал IO ActiveX Communications module фирмы JSPayne (_http://www.jspayne.com/io/home.html), там все просто получаеться. Единственная проблема оно денег стоит. Хотя я тогда нашел где-то лекарство.
|
|
|
|
|
# 18 | ||
|
Full Member
Регистрация: 02.10.2003
Пол: Male
Сообщения: 869
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Как наваять? в каком шарпе? Цитата:
|
||
|
|