|
USB->Com->Windows |
|
|
|
Oct 27 2009, 07:42
|
Частый гость
 
Группа: Свой
Сообщений: 199
Регистрация: 2-03-05
Из: МОСКВА
Пользователь №: 3 016

|
Цитата(V_G @ Oct 27 2009, 11:37)  У меня ситуация аналогичная, и я насильно задаю номер порта в настройках (уже после его обнаружения). Если кто-нибудь подскажет ненасильственный способ, то тоже буду очень признателен. Только боюсь, что зовут этого кого-то Билл Гейтс Думаю Билли тут не причем. Так как если плата определилась COM13(для примера), то она и остается COM13. Скорее всего дело в коком-то идентификаторе в микросхеме. Но может и ошибаюсь.
|
|
|
|
|
Oct 27 2009, 10:44
|

Профессионал
    
Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955

|
Цитата(zltigo @ Oct 27 2009, 18:27)  Его зовут "не поставили/не запрограммировали EEPROM на FTDI". Благодарю за пинок, подстегивает мыслительный процесс. Вот ссылка на соответствующий AppNote: http://www.ftdichip.com/Documents/AppNotes...nstallation.pdfВроде все понятно, осталось выяснить (или дочитать инструкцию, но это в лом), девайсы с одинаковыми VID,PID и серийником, будучи воткнутыми вместе, не будут ли конфликтовать. Но думаю, тут уж Билл Гейтс не подкачает...
|
|
|
|
|
Oct 27 2009, 18:24
|

Чайник, 1 литр
   
Группа: Свой
Сообщений: 655
Регистрация: 17-05-06
Из: Moscow
Пользователь №: 17 168

|
Цитата(V_G @ Oct 27 2009, 13:44)  ..девайсы с одинаковыми VID,PID и серийником, будучи воткнутыми вместе, не будут ли конфликтовать. Но думаю, тут уж Билл Гейтс не подкачает... Из документа выходит, что нельзя: Цитата 3.2 Reprogram all devices to use identical VID, PID, Serial Number. ... CONs: Can only ever plug one device into a PC at a time. Но там далее решения предложены: VID & PID одинаковые, и отключить серийный номер.
|
|
|
|
|
Oct 27 2009, 19:28
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(tolik1 @ Oct 27 2009, 10:24)  1)Почему так происходит? 2)Как сделать, чтобы определялся все время одним и темже портом. http://www.ftdichip.com/Documents/AppNotes...s_AN_000073.pdfСм.раздел 7.1 А вот кто б мне объяснил, как справиться с такой же фигней, но с BT-донглом, когда один и тот же донгл переставляешь в другой порт, и мало того, что заново надо искать устройство, так еще и набор COMов другой (речь о преобразователе UART->BT) ? Достало просто до ужаса, по сравнению с этим "лечение" FTDI просто удовольствие...
|
|
|
|
|
Oct 27 2009, 21:47
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(rx3apf @ Oct 27 2009, 22:28)  А вот кто б мне объяснил, как справиться с такой же фигней, но с BT-донглом, когда один и тот же донгл переставляешь в другой порт, и мало того, что заново надо искать устройство, так еще и набор COMов другой А вы в реестре покапайтесь. У FTDI например данные об устройствах здесь лежат HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FTDIBUS там можно параметры менять (например название и номер сом порта)
|
|
|
|
|
Oct 29 2009, 17:06
|

Профессионал
    
Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555

|
Цитата(DVF @ Oct 29 2009, 16:46)  Не понятно как шить в EEPROM утилитой Mprog от FTDI и не плодить порты в компе? Ведь, в самом начале по умолчанию каждой следующей будет присваиваться порт по нарастающей... Будет! И если шить много (несколько десятков даже) еще и винды глючить начинают! Поэтому надо переодически чистить! Вот моя функция, которая сбрасывает базу данных портов, и enum FTDI, но т.к. база сбрасывается и есть другие USB порты, могут быть конфликты! CODE bool ResetEnum(void) { HKEY hKey; unsigned err; DWORD len; BYTE Buf[32]; char SubName[256];
puts("Reseting COM enum"); if (err=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Control\\COM Name Arbiter",0, KEY_ENUMERATE_SUB_KEYS | KEY_READ | KEY_SET_VALUE,&hKey)) { printf("Error: %d Opening HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\COM Name Arbiter\n",err); return false; } memset(Buf,0,32); Buf[0]=3; if (err=RegSetValueEx(hKey,"ComDB",0,REG_BINARY,Buf,32)) { RegCloseKey(hKey); printf("Error: %d",err); return false; } RegCloseKey(hKey); puts("Deleting FTDI entries");
if (err=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SYSTEM\\CurrentControlSet\\Enum\\FTDIBUS",0, KEY_ENUMERATE_SUB_KEYS | KEY_READ | KEY_SET_VALUE,&hKey)) { printf("Error: %d Opening HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Enum\\FTDIBUS\n",err); return false; } while(1) { len=256; err=RegEnumKeyEx(hKey,0,SubName,&len,0,0,0,0); if (err) break; err=SHDeleteKey(hKey,SubName); if (err) { printf("Error: %d\n",err); continue; } } RegCloseKey(hKey); puts("ok"); return true; }
Причина редактирования: Уменьшение видимого размера цитаты исходника.
|
|
|
|
|
Sep 14 2010, 17:23
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 18-09-09
Из: у Чёрного моря
Пользователь №: 52 456

|
Подскажите пожалуста замену SP213ehca рекомендованую производителем для ft232bm. чет в наших краях такой микры необнаружилось
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|