![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
ahalaj |
![]()
Сообщение
#131
|
![]() Студент ![]() Группа: Участник Сообщений: 47 Регистрация: 14.6.2014 Пользователь №: 4166 Спасибо сказали: 13 раз(а) Репутация: ![]() ![]() ![]() |
Да, скорее всего тут именно драйвер. Но главное ведь получилось, существование порта детектится.
|
|
|
borune |
![]()
Сообщение
#132
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
kuzulis |
![]()
Сообщение
#133
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Если порт есть, но к нему не подключен кабель, то этот порт нельзя открыть, и, соответственно, записать в него также ничего нельзя. Но это уже похоже на фишечку драйвера виртуального ком-порта, и ее никак не исправишь наверное... Это значит что устройства (активного устройства типа "последовательный порт", или любого другого - неважно) НЕТ! И это никакая не фишечка драйвера. Это Windows ОС просто кеширует у-ва чтобы вновь не создавать симлинки при подключении этого-же устройства в этот-же USB порт (или просто того-же у-ва). Вот, воткнул ты к примеру USB флешечку она определилась как диск Z, потом ты выдернул ее. Потом проенумеровал все USB mass-storage устройства которые когда-то были подключены к системе.. Нашел у-во которое было диском Z и попытался открыть.. И.. надеешься считать файлики из Z которого сейчас нету? Гы. ![]() Кроме того никто не запрещает в диспетчере у-в отобразить "hidden" устройства и удалить их. Тогда не будет никаких таких у-в перечисляться. Цитата да, а толку от этого.. А я тебя же предупреждал что все это хрень, но куда уж мне.. Ты-же у нас спец. ![]() Сообщение отредактировал kuzulis - 28.10.2014, 23:21 |
|
|
borune |
![]()
Сообщение
#134
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Если порт есть, но к нему не подключен кабель, то этот порт нельзя открыть, и, соответственно, записать в него также ничего нельзя. Но это уже похоже на фишечку драйвера виртуального ком-порта, и ее никак не исправишь наверное... Это значит что устройства (активного устройства типа "последовательный порт", или любого другого - неважно) НЕТ! И это никакая не фишечка драйвера. Это Windows ОС просто кеширует у-ва чтобы вновь не создавать симлинки при подключении этого-же устройства в этот-же USB порт (или просто того-же у-ва). там вроде не все так просто. если подключить устройство кабелем к порту, при этом не включая самого устройства, то порт обнаруживается и открывается безо всяких проблем. Хотя по идее это то же самое, что просто воткнуть в порт пустой кабель.. А я тебя же предупреждал что все это хрень, но куда уж мне.. Ты-же у нас спец. я, кажется, принес свои извинения Сообщение отредактировал borune - 29.10.2014, 7:52 |
|
|
kuzulis |
![]()
Сообщение
#135
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
Цитата там вроде не все так просто. если подключить устройство кабелем к порту, при этом не включая самого устройства, то порт обнаруживается и открывается безо всяких проблем. Хотя по идее это то же самое, что просто воткнуть в порт пустой кабель.. О каком порте речь? Об USB об SerialPort? Опять каша? ![]() Если имеется ввиду это: Цитата PC (железный COM1) RS232 [ ] <-- кабель (RS232/TTL например DB9 и прочее) --> [ некий девайс ] То у-во COM1 будет открываться в любом случае пока сам чип (который внутри PC не сгорел и фунциклирует). RS232 - это "низкоуровневый" интерфейс, он не определяет, подключено что-то или нет к его Rx/Tx и прочим линиям. Поэтому, подключен (или нет) некий девайс на том конце - без разницы - мы никогда это не узнаем пока не попробуем туда что-нить отправить/принять. COM1 всегда будет активен в ОС вне зависимости от того воткнул ли кто-то что-то к нему через RS232 кабель. Если имеется ввиду это: Цитата PC (вирт. COM1) USB[ ] <-- кабель (USB) --> [USB/Serial конвертер] <--- кабель (RS232/TTL например DB9 и прочее) --> [ некий девайс ] То у-во COM1 будет открываться в любом случае пока подключен USB кабель к USB/Serial конвертеру и пока конвертер не сгорел. Как только USB/Serial конвертер отключится - COM1 "исчезнет" из системы и станет hidden. Далее, если подключить что-то к конвертеру кабелем RS232 (или не подключать) - нам без разницы, т.к. COM1 всегда откроется.мы никогда это не узнаем пока не попробуем туда Но мы не может "программно" узнать что что-то подключено или нет на том конце RS232 пока что-нить не отправим/примем. Сообщение отредактировал kuzulis - 29.10.2014, 11:50 |
|
|
borune |
![]()
Сообщение
#136
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Имеется ввиду виртуальный порт. Конвертер USB/Serial находится в самом девайсе, поэтому, по идее, при выключенном девайсе конвертер тоже должен быть выключен. При этом порт в диспетчере виден и программно доступен. Не понятно почему.
Сообщение отредактировал borune - 29.10.2014, 12:27 |
|
|
kuzulis |
![]()
Сообщение
#137
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
borune |
![]()
Сообщение
#138
|
Участник ![]() ![]() Группа: Участник Сообщений: 152 Регистрация: 1.1.2011 Пользователь №: 2314 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
casper17 |
![]()
Сообщение
#139
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 17.1.2015 Пользователь №: 4319 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Добрый день. Подскажите пожалуйста почему у меня чтение с COM порта одного сообщения происходит за несколько раз? С Atmega8 отправляю данные массив unsigned char x[10]="";
А принимает их за несколько раз Раскрывающийся текст
Если попробовать цикл do while и добавлять к старому сообщению новое то Раскрывающийся текст
Почему он не принимает сразу его целиком? |
|
|
lanz |
![]()
Сообщение
#140
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Потому что в COM порте нет такого понятия "сообщение", он работает побайтово. Побайтово принимает и побайтово отправляет.
https://ru.wikipedia.org/wiki/Универсальный...риёмопередатчик |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 3.4.2025, 20:18 |