| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Проблема с COM портом |
| Автор: sazon 30.3.2009, 14:02 |
| Здрасти...Решил написать чисто для себя программу: есть девайс, который связывается с компом через 232 интерфейс, в ком порт короче, есть описания команд( reset, send_card и т.д) в мануале к этому девайсу и естьжелание написать программку, которая отсылала бы эти команды в порт и могла считывать то, что прислал в порт этот девайс. сначала я замутил все это тупо с перемычками( замнул прием и передачу), вроде бы все пахало более менее...с девайсом все намного понятно хитрее. передача не идет( количество отправленных байтов 0), а с порта считывается то что я отправлял...причем вроде все настроил под устройство: паритет, скорость. стоповые биты, размер байта. может быть дааная проблема связана с управлением потока: аппаратное, программное ?...просто в делфе не очень понятно как это настраивается( управление потоком)), все коды в инете прктически на си, а там вроде это реализовывается по- иному. кстати передачу делаю синхронную, отослал - принял...заранее благодарен. |
| Автор: SneG0K 30.3.2009, 14:14 |
| Все коды в инете работают с использованием WinAPI CreateProcess() и честно плевать на каком они языке. По поводу передачи - ты бы код показал и схему девайса, ибо на сколько я знаю, ничего лишнего замыкать не надо. |
| Автор: sazon 30.3.2009, 14:27 | ||||
вот прием и передача
Добавлено @ 14:29 заранее извиняюсь за некое убожество кода...замыкал я когда тестил свою прогу без девайса; замыкал 2и 3-ий пин ком порта, смотрел будет ли у меня считанная информация совпадат с отосланной..
|
| Автор: sazon 30.3.2009, 14:56 |
| и еще ребят, извиняюсь за ламерский такой вопрос...у меня в этом коде такая вещь происходит: если производить троссировку f7 то все происходит норм, передается, принимается...если просто запускаю прогу, то происходит ошибка: первую команду(какой-ть набор символов в виде стринга) он не считывает, второй раз сичтывает то что я порту и послал. но в юуфере приема находятся езе байты первой команды, в третий раз выдает ошибку invalid pointer operation |
| Автор: SneG0K 30.3.2009, 23:35 |
| У меня с сокетами и с использованием многих API была проблема со string попробуй вместо string выделять array of char |
| Автор: Romikgy 31.3.2009, 10:41 | ||||
sazon, товарисч у вас явная проблема с работой с динамическими данными
|
| Автор: mitka 2.4.2009, 11:50 |
| Народ, извиняюсь за назойливость и благодарю всех за помощь.Возник такой вопрос: по умолчанию какое управление потоком -отсутствует, аппартаное или программное...как я понял - оно отсутствует? или я не прав |
| Автор: Romikgy 2.4.2009, 23:23 |
| по идее аппаратное по умолчанию |
| Автор: Virtuals 3.4.2009, 12:12 |
| mitka, по умолчанию то которое выставленно в диспетчере устройств |