|
Эмуляция COM через USB |
|
|
|
Mar 4 2006, 16:19
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(sergeeff @ Mar 3 2006, 13:54)  Хотелось на стандартном USB контроллере (мы сейчас используем PDIUSBD12) реализовать CDC устройство и работать с ним через стандартный usbcomm.sys драйвер из Windows’a. Изучение запросов, которые должено обрабатывать CDC устройство, показало, что там таковые (на установку и сброс сигналов DTR и пр.) отсутствуют. Так что похоже это вариант не проходит. Я делал CDC устройство на связке ATMega16L + PDIUSBD12. CDC класс поддерживает сигнализацию DTR/DSR, RTS, DCD, RI и Break (т.е. все, кроме CTS). Если есть заинтересованность, могу рассказать подробнее.
|
|
|
|
|
Mar 17 2006, 08:53
|
Участник

Группа: Свой
Сообщений: 60
Регистрация: 8-11-05
Пользователь №: 10 602

|
Используешь так же как и на обычном порте. Только вот проблемы со скоростью возникают медленно это все(((
|
|
|
|
|
Jan 9 2007, 09:20
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(aaarrr @ Mar 4 2006, 20:19)  Я делал CDC устройство на связке ATMega16L + PDIUSBD12. CDC класс поддерживает сигнализацию DTR/DSR, RTS, DCD, RI и Break (т.е. все, кроме CTS). Если есть заинтересованность, могу рассказать подробнее. Занялся тоже данной связкой. Собрал, подкорректировал Филиповские исходники - мое устройство видится ОСью, все в порядке. Но ни как не могу открыть мой порт ни одной программой. Вот так его видит USBView: Код Device Descriptor: bcdUSB: 0x0110 bDeviceClass: 0x02 bDeviceSubClass: 0x00 bDeviceProtocol: 0x00 bMaxPacketSize0: 0x10 (16) idVendor: 0x5555 idProduct: 0x7777 bcdDevice: 0x0001 iManufacturer: 0x01 0x0409: "PROTTOSS" iProduct: 0x02 0x0409: "PDIUSBD12 test USB device" iSerialNumber: 0x00 bNumConfigurations: 0x01
ConnectionStatus: DeviceConnected Current Config Value: 0x01 Device Bus Speed: Full Device Address: 0x01 Open Pipes: 3
Endpoint Descriptor: bEndpointAddress: 0x81 IN Transfer Type: Interrupt wMaxPacketSize: 0x0010 (16) bInterval: 0x64
Endpoint Descriptor: bEndpointAddress: 0x02 OUT Transfer Type: Bulk wMaxPacketSize: 0x0010 (16) bInterval: 0x00
Endpoint Descriptor: bEndpointAddress: 0x82 IN Transfer Type: Bulk wMaxPacketSize: 0x0010 (16) bInterval: 0x00
Configuration Descriptor: wTotalLength: 0x0043 bNumInterfaces: 0x02 bConfigurationValue: 0x01 iConfiguration: 0x00 bmAttributes: 0x80 (Bus Powered ) MaxPower: 0x32 (100 Ma)
Interface Descriptor: bInterfaceNumber: 0x00 bAlternateSetting: 0x00 bNumEndpoints: 0x01 bInterfaceClass: 0x02 bInterfaceSubClass: 0x02 bInterfaceProtocol: 0x01 iInterface: 0x00
Unknown Descriptor: bDescriptorType: 0x24 bLength: 0x05 05 24 00 10 01
Unknown Descriptor: bDescriptorType: 0x24 bLength: 0x04 04 24 02 02
Unknown Descriptor: bDescriptorType: 0x24 bLength: 0x05 05 24 06 00 01
Unknown Descriptor: bDescriptorType: 0x24 bLength: 0x05 05 24 01 03 01
Endpoint Descriptor: bEndpointAddress: 0x81 IN Transfer Type: Interrupt wMaxPacketSize: 0x0010 (16) bInterval: 0x64
Interface Descriptor: bInterfaceNumber: 0x01 bAlternateSetting: 0x00 bNumEndpoints: 0x02 bInterfaceClass: 0x0A bInterfaceSubClass: 0x00 bInterfaceProtocol: 0x00 iInterface: 0x00
Endpoint Descriptor: bEndpointAddress: 0x02 OUT Transfer Type: Bulk wMaxPacketSize: 0x0010 (16) bInterval: 0x00
Endpoint Descriptor: bEndpointAddress: 0x82 IN Transfer Type: Bulk wMaxPacketSize: 0x0010 (16) bInterval: 0x00 Да еще... После энумерации приходит два запроса специфичных для класса: GET_ENCAPSULATED_RESPONSE и SET_COMM_FEATURE. Но я так понимаю их можно игнорировать, что я и делаю...
--------------------
|
|
|
|
|
Jan 10 2007, 10:06
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Все разобрался.... Для начала: я не правильно декодировал запросы, было не GET_ENCAPSULATED_RESPONSE и SET_COMM_FEATURE, а было GET_LINE_CODING и SET_CONTROL_LINE_STATE А я их не отрабатывал... Как обычно дело было не в бобине...
--------------------
|
|
|
|
|
Jan 23 2007, 20:46
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Чтоб не поднимать новую тему продолжу здесь ибо все равно она касается заголовка темы: решил я пойти дальше, а именно сделать два девайса в одном, то бишь два моста USB - RS232... Составил дескрипторы как положено - ОС определила составное устройство - далее потребовало дрова для устройств в него входящих, подсунул ей свой инф где прописанны оба интерфейса - взяла - установила дрова, но вот для второго устройста пожаловалось, что: "Запуск этого устройства невозможен. (Код 10)"  ... Кроме того, после инсталяции в setupapi.log появилась запись для второго интерфейса вида: "Устройство не запущено: обнаружена проблема: 0x0a: CM_PROB_FAILED_START". Может быть кто знает, куда копать. Неохота самому писать собственный драйвер Спасибо
--------------------
|
|
|
|
|
Jan 23 2007, 21:41
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(prottoss @ Jan 23 2007, 22:46)  Кроме того, после инсталяции в setupapi.log появилась запись для второго интерфейса вида: "Устройство не запущено: обнаружена проблема: 0x0a: CM_PROB_FAILED_START". Может быть кто знает, куда копать. Неохота самому писать собственный драйвер Спасибо Недавно где-то здесь же на форуме промелькнула информация о схожей проблеме и о том, сколько реально нужно endpoints для реализации двух CDC в одном устройстве. Поищите.
|
|
|
|
|
Jan 23 2007, 22:00
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Цитата(rezident @ Jan 24 2007, 01:41)  Цитата(prottoss @ Jan 23 2007, 22:46)  Кроме того, после инсталяции в setupapi.log появилась запись для второго интерфейса вида: "Устройство не запущено: обнаружена проблема: 0x0a: CM_PROB_FAILED_START". Может быть кто знает, куда копать. Неохота самому писать собственный драйвер Спасибо Недавно где-то здесь же на форуме промелькнула информация о схожей проблеме и о том, сколько реально нужно endpoints для реализации двух CDC в одном устройстве. Поищите. Да этоя и создавал тему в форуме AVR про PDIUSBD12 + ATmega16... Дело то вот в чем: У PDIUSBD12 шесть ендпоинтов - одна пара используется под Control IN/OUT endpoint и остаются еще две пары ендпоинтов. НО, так как в USB CDC ACM классе необходимо иметь три точки, то, как бы не реально сделать два устройства на данной связке. С помощью гугль и такой то матери обнаружил, что все таки можно не портить одну пару ендпоинтов, так как одна точка как бы не действительная, то бишь она нужна только для стандарта, а реально не используется. Подправил я дескрипторы, сдела пару одну на реальные точки, а одну сделал с нереальным номером - РАБОТАЕТ!!!. Попробовал под 98, 2000, МЕ, XP - все замечательно. Добавляю второй интерфейс - все ставится, видится НО второй девайс ни в какую - код ошибки 10 и в 2000 и в XP. 98 и МЕ смысла мучить пока не вижу, так как предполагаю, что там вообще после таких выкрутастов BSOD будет  . Счас перепахиваю MSDN...безрезультатно...Но ИМХО, что то я не совсе мправильно либо с дескрипторами делаю, либо в INF что то не дописываю
--------------------
|
|
|
|
|
Jan 28 2007, 19:05
|
Группа: Новичок
Сообщений: 5
Регистрация: 19-07-06
Пользователь №: 18 930

|
Может быть кто знает, куда копать. Неохота самому писать собственный драйвер :) Спасибо [/quote] Счас перепахиваю MSDN...безрезультатно...Но ИМХО, что то я не совсе мправильно либо с дескрипторами делаю, либо в INF что то не дописываю :( [/quote]
Если не секрет, можно на дескртиптор взглянуть и на inf за одно?
|
|
|
|
|
Jan 28 2007, 19:36
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
Код /************************************************************************** Device Descriptor **************************************************************************/ PROGMEM USB_DEVICE_DESCRIPTOR USB_DeviceDescriptor = { sizeof(USB_DEVICE_DESCRIPTOR), /* length of descriptor in bytes */ USB_DEVICE_DESCRIPTOR_TYPE, /* descriptor type */ 0x0110, /* USB version supported */ 0,//USB_CFG_DEVICE_CLASS, /* device class */ 0,//USB_CFG_DEVICE_SUBCLASS, /* device subclass */ 0,//USB_CFG_DEVICE_PROTOCOL, /* device protocol */ D12_EP0_PACKET_SIZE, /* max packet size for control endpoint */ USB_CFG_VENDOR_ID, /* vendor ID (VID) */ USB_CFG_DEVICE_ID, /* device ID (PID) */ USB_CFG_DEVICE_VERSION, /* version */ USB_CFG_VENDOR_STRING_INDEX, /* manufacturer string index */ USB_CFG_DEVICE_STRING_INDEX, /* product string index */ USB_CFG_SERIAL_STRING_INDEX, /* serial number string index */ 1, /* number of configurations */ };
/************************************************************************** CDC Config Descriptors Packet for Communication Port Emulation **************************************************************************/ PROGMEM USB_CONFIG_DESCRIPTOR_PACKET USB_ConfigDescriptorPacket = {
/************************************************************************** Configuration Descriptor **************************************************************************/ { sizeof(USB_CONFIGURATION_DESCRIPTOR), /* length of descriptor in bytes */ USB_CONFIGURATION_DESCRIPTOR_TYPE, /* descriptor type */ sizeof(USB_CONFIG_DESCRIPTOR_PACKET), /* total packet length */ 2, /* number of interfaces in this configuration */ 1, /* index of this configuration */ 0, /* configuration name string index */ USB_CONFIG_SELF_POWERED, USB_CFG_MAX_BUS_POWER / 2, },
/************************************************************************** ACM Interface Descriptor 0 **************************************************************************/ { sizeof(USB_INTERFACE_DESCRIPTOR), /* length of descriptor in bytes */ USB_INTERFACE_DESCRIPTOR_TYPE, /* descriptor type */ 0, /* index of this interface */ 0, /* alternate setting for this interface */ 3, /* 1 - control? 2 - data */ USB_CFG_INTERFACE_CLASS, /* USB_DEVICE_CLASS_COMMUNICATIONS */ USB_CFG_INTERFACE_SUBCLASS, /* USB_CDC_SUBCLASS_ACM */ USB_CFG_INTERFACE_PROTOCOL, /* 0 */ 0, },
/************************************************************************** CDC Header Functional Descriptor **************************************************************************/ { sizeof(USB_CDC_HEADER_FUNCTIONAL_DESCRIPTOR), 0x24, /* descriptor type */ 0, /* header functional descriptor */ 0x0110, /* USB version */ },
/************************************************************************** CDC Abstract Control Management Functional Descriptor **************************************************************************/ { sizeof(USB_CDC_ABSTRACT_CONTROL_MANAGEMENT_FUNCTIONAL_DESCRIPTOR), 0x24, /* descriptor type */ 2, /* abstract control management functional descriptor */ 0x02, /* SET_LINE_CODING, GET_LINE_CODING, SET_CONTROL_LINE_STATE */ },
/************************************************************************** In Endpoint #3 Descriptor (Control in) not real!!! **************************************************************************/ { sizeof(USB_ENDPOINT_DESCRIPTOR), USB_ENDPOINT_DESCRIPTOR_TYPE, 0x83, /* In endpoint number 3 */ 0x03, /* attrib: Interrupt endpoint */ D12_EP1_PACKET_SIZE, /* maximum packet size */ 10, /* in ms */ },
/************************************************************************** Out Endpoint #1 Descriptor (Data out) **************************************************************************/ { sizeof(USB_ENDPOINT_DESCRIPTOR), USB_ENDPOINT_DESCRIPTOR_TYPE, 0x01, /* OUT endpoint number 1 */ 0x02, /* attrib: Bulk endpoint */ D12_EP1_PACKET_SIZE, /* maximum packet size */ 0, /* in ms */ },
/************************************************************************** In Endpoint #1 Descriptor (Data in) **************************************************************************/ { sizeof(USB_ENDPOINT_DESCRIPTOR), USB_ENDPOINT_DESCRIPTOR_TYPE, 0x81, /* IN endpoint number 1 */ 0x02, /* attrib: Bulk endpoint */ D12_EP1_PACKET_SIZE, /* maximum packet size */ 0, /* in ms */ },
/************************************************************************** ACM Interface Descriptor 1 **************************************************************************/ { sizeof(USB_INTERFACE_DESCRIPTOR), /* length of descriptor in bytes */ USB_INTERFACE_DESCRIPTOR_TYPE, /* descriptor type */ 1, /* index of this interface */ 0, /* alternate setting for this interface */ 3, /* 1 - control? 2 - data */ USB_CFG_INTERFACE_CLASS, /* USB_DEVICE_CLASS_COMMUNICATIONS */ USB_CFG_INTERFACE_SUBCLASS, /* USB_CDC_SUBCLASS_ACM */ USB_CFG_INTERFACE_PROTOCOL, /* 0 */ 0, },
/************************************************************************** CDC Header Functional Descriptor **************************************************************************/ { sizeof(USB_CDC_HEADER_FUNCTIONAL_DESCRIPTOR), 0x24, /* descriptor type */ 0, /* header functional descriptor */ 0x0110, /* USB version */ },
/************************************************************************** CDC Abstract Control Management Functional Descriptor **************************************************************************/ { sizeof(USB_CDC_ABSTRACT_CONTROL_MANAGEMENT_FUNCTIONAL_DESCRIPTOR), 0x24, /* descriptor type */ 2, /* abstract control management functional descriptor */ 0x02, /* SET_LINE_CODING, GET_LINE_CODING, SET_CONTROL_LINE_STATE */ },
/************************************************************************** In Endpoint #4 Descriptor (Control in) not real !!! **************************************************************************/ { sizeof(USB_ENDPOINT_DESCRIPTOR), USB_ENDPOINT_DESCRIPTOR_TYPE, 0x84, /* In endpoint number 4 */ 0x03, /* attrib: Interrupt endpoint */ D12_EP1_PACKET_SIZE, /* maximum packet size */ 10, /* in ms */ },
/************************************************************************** Out Endpoint #2 Descriptor (Data out) **************************************************************************/ { sizeof(USB_ENDPOINT_DESCRIPTOR), USB_ENDPOINT_DESCRIPTOR_TYPE, 0x02, /* OUT endpoint number 2 */ 0x02, /* attrib: Bulk endpoint */ D12_EP2_PACKET_SIZE, /* maximum packet size */ 0, /* in ms */ },
/************************************************************************** In Endpoint #2 Descriptor (Data in) **************************************************************************/ { sizeof(USB_ENDPOINT_DESCRIPTOR), USB_ENDPOINT_DESCRIPTOR_TYPE, 0x82, /* IN endpoint number 2 */ 0x02, /* attrib: Bulk endpoint */ D12_EP2_PACKET_SIZE, /* maximum packet size */ 0, /* in ms */ },
}; /* enf of config descriptor packet */
--------------------
|
|
|
|
|
Jan 28 2007, 20:21
|

Гуру
     
Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659

|
забыл про инф Код ;*****************************************************************************
;*****************************************************************************
[Version] signature="$WINDOWS NT$" Class=Ports ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318}
Provider=%Provider% DriverVer=03/07/2006, 4.38.4.127 LayoutFile= Layout.inf
[ControlFlags] ExcludeFromSelect = *
;----------------------------------------------------------------------------- ; Specify target paths... ;-----------------------------------------------------------------------------
[DestinationDirs] DefaultDestDir = 12 ; system32\drivers CopyFiles = 12 ; system32\drivers
;----------------------------------------------------------------------------- ; Table of Contents ;----------------------------------------------------------------------------- [Manufacturer] %PROTTOSS%=PROTTOSS
;----------------------------------------------------------------------------- ; Device-by-device entries ;----------------------------------------------------------------------------- [PROTTOSS] %PROTTOSS.Comm.Desc1% = PROTTOSS.Install, USB\VID_16C0&PID_0996&REV_0001&MI_00 %PROTTOSS.Comm.Desc2% = PROTTOSS.Install, USB\VID_16C0&PID_0996&REV_0001&MI_01
;----------------------------------------------------------------------------- ; Installation instructions ;-----------------------------------------------------------------------------
[PROTTOSS.Install.nt] Include=usb.inf Needs=Composite.Dev.NT AddReg = PROTTOSS.AddReg,PROTTOSS.NT.AddReg CopyFiles = CopyFiles
[PROTTOSS.Install.nt.HW] AddReg=PROTTOSS.Install.nt.HW.AddReg
[PROTTOSS.Install.nt.HW.AddReg] HKR,,"UpperFilters",0x00010000,"serenum"
;----------------------------------------------------------------------------- ; Registry ;-----------------------------------------------------------------------------
; common registry entries [PROTTOSS.AddReg] HKR,,NTMPDriver,,usbser.sys HKR,,EnableSurpriseRemovalHeuristics, 0x10001, 0x02, 0x00, 0x00, 0x00 HKR,,RateLimitPurgeMS, 0x10001, 0x64, 0x00, 0x00, 0x00 HKR,,OverrideDefaultPortSettings, 0x10001, 01,00,00,00 HKR,,InitialBaudRate, 0x10001, 00,C2,01,00 ;115200 initial baud rate HKR,,InitialLineControl,, "8N1" ;8-bits, No parity, 1 stop bit HKR,,EnumeratorClass,MaskValue,02,02,00
; only for NT... [PROTTOSS.NT.AddReg] HKR,,PortSubClass,1,01 HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
;----------------------------------------------------------------------------- ; Copy lists ;----------------------------------------------------------------------------- [CopyFiles] usbser.sys
;----------------------------------------------------------------------------- ; NT Services installation ;-----------------------------------------------------------------------------
[PROTTOSS.Install.NT.Services] AddService = usbser, 0x00000002, PROTTOSS.Install.AddService Include=msports.inf Needs=SerialEnumerator.NT.Services AddService = Serenum,,Serenum_Service_Inst
[PROTTOSS.Install.AddService] DisplayName = %PROTTOSS.Service.Name% Description = %PROTTOSS.Service.Desc% ServiceType = 1 ;%SERVICE_KERNEL_DRIVER% StartType = 3 ;%SERVICE_DEMAND_START% ErrorControl = 1 ;%SERVICE_ERROR_NORMAL% ServiceBinary = %12%\usbser.sys LoadOrderGroup = Base
; -------------- Serenum Driver install section [Serenum_Service_Inst] DisplayName = %SerEnum.SvcDesc% ServiceType = 1 ; SERVICE_KERNEL_DRIVER StartType = 3 ; SERVICE_DEMAND_START ErrorControl = 1 ; SERVICE_ERROR_NORMAL ServiceBinary = %12%\serenum.sys LoadOrderGroup = PNP Filter
;----------------------------------------------------------------------------- ; STRINGS ;----------------------------------------------------------------------------- [Strings] Provider = "PROTTOSS" PROTTOSS = "PROTTOSS"
PROTTOSS.Comm.Desc1 = "PDIUSBD12 USB Serial Port #1" PROTTOSS.Comm.Desc2 = "PDIUSBD12 USB Serial Port #2"
PROTTOSS.Service.Name = "PDIUSBD12 USB Test Device Drivers" PROTTOSS.Service.Desc = "PDIUSBD12 USB Test Device Drivers" SerEnum.SvcDesc="Serenum Filter Driver"
--------------------
|
|
|
|
|
Jan 28 2007, 20:31
|
Группа: Новичок
Сообщений: 5
Регистрация: 19-07-06
Пользователь №: 18 930

|
Цитата /************************************************************************** Configuration Descriptor **************************************************************************/ { sizeof(USB_CONFIGURATION_DESCRIPTOR), /* length of descriptor in bytes */ USB_CONFIGURATION_DESCRIPTOR_TYPE, /* descriptor type */ sizeof(USB_CONFIG_DESCRIPTOR_PACKET), /* total packet length */ 2, /* number of interfaces in this configuration */ 1, /* index of this configuration */ 0, /* configuration name string index */ USB_CONFIG_SELF_POWERED, USB_CFG_MAX_BUS_POWER / 2, }, Кажется, количество интерфейсов должно быть 4 (/* number of interfaces in this configuration */) т.к. при одном мосте их 2, это т.н. сервисный + основной для данных. 2+2.
|
|
|
|
|
Jun 18 2007, 17:15
|
Группа: Новичок
Сообщений: 5
Регистрация: 19-07-06
Пользователь №: 18 930

|
Возникла похожая задача, 2 СОМа. Удалось ли докопаться?
|
|
|
|
|
Jan 16 2008, 11:03
|
Участник

Группа: Участник
Сообщений: 39
Регистрация: 1-11-06
Пользователь №: 21 855

|
Цитата(mtx @ Jun 18 2007, 20:15)  Возникла похожая задача, 2 СОМа. Удалось ли докопаться? Нашел пример реализации 2 COM http://forum.microchip.com/tm.aspx?m=123533&mpage=2и далее Multiple USB devices in a single 18f -- using 18F4550 to emulate FDTI2232 dual com port http://forum.microchip.com/tm.aspx?m=261649 Вчера попробовал с портированной версией на PICkit2. Работает, винда нашла 2 COM потра
|
|
|
|
|
Feb 10 2008, 14:10
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата(aaarrr @ Mar 4 2006, 19:19)  Я делал CDC устройство на связке ATMega16L + PDIUSBD12. CDC класс поддерживает сигнализацию DTR/DSR, RTS, DCD, RI и Break (т.е. все, кроме CTS). Если есть заинтересованность, могу рассказать подробнее. Здравствуйте. Я вот сейчас делаю то же самое, что и вы (макет на атмега162 уже был, сейчас атмега128). Правда нужны только данные, DTR/DSR и остальное не нужны... Несколько попыток (на остове апноутов атмеловских) для процов с набортным USB давали поведение типа - вис на инсталляции драйвера в систему (если вытащить усб кабель - заканчивалось нормально). Другие особенности - нет передачи даннхых (иногда - один пакет проходит и всё) в терминал, запущенный на хосте. Передача данных по виртуальному ком-порту от хоста к устройству идет нормально (как мне кажется). Честно говоря, очень многих проблем удалось бы уже избежать, если можно было бы взглянуть на Ваш проект (программу). Или, хотя бы на декрипторы однопортовой версии (со всеми константами). mgs2001@pochtamt.ruЯ начинающий в области usb-программирования. На фото - как выглядит макет (это АЧХ-метр для радиолюбительских целей).
Сообщение отредактировал Genadi Zawidowski - Feb 10 2008, 14:26
|
|
|
|
|
Mar 4 2008, 13:37
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 12-08-05
Пользователь №: 7 587

|
FT232rus.doc ( 66.5 килобайт )
Кол-во скачиваний: 1539Цитата(sergeeff @ Jan 22 2006, 14:42)  Господа!
Нет ли у кого примеров (если это вообще возможно) реализации в USB CDC устройстве эмуляции сигналов RTS/CTS и DSR/DCS?
Заранее благодарю Обратите внимание на FT2232, а также CP2103, особенно последнее (встроенное EEPROM с драйверами), если не предстоит ручная пайка (корпус неудобный - QFN-28). С FT232 больше мороки. А также можно подчитать небольшую справку (прилагаю). Схемы подключения в даташитах. Поделитесь результатами, если будет желание!
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|