|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
29.09.2017, 16:07 | #1 |
Новичок
Джуниор
Регистрация: 29.09.2017
Сообщений: 4
|
Com-порт cp2102
Устройство USB-UART cp2102 рабочее. Позволяет программировать прибор, и через него идет считывание данных с прибора через программы-мониторы портов. Но в программе на Delphi не проходит команда SetCommState(Com_Port_Handle, DCB), а GetCommState(Com_Port_Handle, DCB) возвращает все нули. Устройства USB-UART на других микросхемах (например, CH340G) с этой программой работают. В чем может быть проблема?
|
29.09.2017, 22:12 | #2 |
Пользователь
Регистрация: 15.08.2012
Сообщений: 23
|
Смотрите что возвращает GetLastError.
|
30.09.2017, 00:42 | #3 |
Новичок
Джуниор
Регистрация: 29.09.2017
Сообщений: 4
|
Возвращает ноль.
Похоже проблема была в имени файла. В общем, когда задаю в CreateFile имя порта как Pchar('\\.\'+ Port_Name) вместо Pchar(Port_Name), где Port_Name = 'COM10' (получается программно), то порт на CP2102 (действительно COM10 по диспетчеру устройств) устанавливается нормально и даже уже удается иногда прочитать правильные числа с прибора. Зачем нужна добавка '\\.\' ? |
30.09.2017, 08:47 | #4 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
Так это известная проблема. В системе жёстко прописаны только первые порты, остальные надо вызывать с префиксом. Префикс "\\.\" - это явная отсылка к устройствам.
Вот если бы Вы привели фрагмент кода в своём первом сообщении, ясно было бы сразу. А то - пойди пойми, что номер порта поменялся.. |
30.09.2017, 10:52 | #5 |
Новичок
Джуниор
Регистрация: 29.09.2017
Сообщений: 4
|
Понятно, спасибо. А корректно этот префикс к именам первых портов (COM1-COM9) тоже добавлять для простоты? Я пока ко всем добавляю, вроде бы работает.
|
30.09.2017, 10:56 | #6 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,707
|
Корректно. Без префикса это легаси от старых времен.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Com-порт cp2102 | Igor_Muhin | Компьютерное железо | 1 | 29.09.2017 23:17 |
установил phpstorm, он занял порт 80, и не запускается openserver " Невозможно занять порт 80 поскольку он уже используется | victorshkoda | PHP | 5 | 07.04.2016 10:04 |
Qt + com-порт | Vanta11a | Qt и кроссплатформенное программирование С/С++ | 6 | 28.04.2011 04:13 |
com порт | Joslen_bomon | Компьютерное железо | 1 | 08.11.2009 12:25 |
COM-порт | daunito | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 7 | 15.01.2009 18:50 |