|
Виртуальный USB COM на LPC2366 |
|
|
|
Sep 10 2010, 07:48
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213

|
Цитата(Nixon @ Sep 10 2010, 10:11)  Что в Keil, что в IAR есть приметры для данного процессора USBCDC. Это и есть искомое. Перерыл всю папку своего Keil, ничего подобного не нашел. IAR не стоит.
|
|
|
|
|
Sep 10 2010, 08:20
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213

|
Цитата(vmp @ Sep 10 2010, 11:14)  c:\keil\ARM\Boards\Keil\MCB2300\USBCDC\ Да, точно нашел!!! Во зарыли! Спасибо А даташита к нему не прилагается, чтобы разобраться что, как и в какой последовательности там делается?
|
|
|
|
|
Sep 14 2010, 11:58
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213

|
Цитата(vmp @ Sep 14 2010, 14:42)  Питание USB включено? PCUSB в PCONP. PLL настроен? И вообще инициализация. PCONP |= (1<<31); //PCUSB = 1 - USB power/clock control bit. XTAL = 16 МГц PLL = 288 Мгц (MSEL = 9, NSEL = 1) CPU CLK = 72 MHz (CCLKSEL = 4) USB CLK = 48 MHz (USBSEL = 6) Все частотные параметры настроены в Конфигураторе проекта. PCONP настроен в начале процедуры инициализации USB
|
|
|
|
|
Sep 15 2010, 16:43
|
Группа: Новичок
Сообщений: 2
Регистрация: 15-09-10
Из: Москва
Пользователь №: 59 505

|
Проверьте установку бита DEV_CLK_EN в регистре USBClkCtrl (адрес регистра 0xFFE0 CFF4).
|
|
|
|
|
Oct 19 2010, 11:18
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213

|
igorsk, mme, спасибо проблема действительно была в CLOCK, забыл напрочь настроить USBClkCtrl. Виснуть перестало, но Windows не распознает устройство, буду бороться дальше!!!
Все, заработало!!!
Всем спасибо, остался один вопрос. Я хочу чтобы в Винде мое устройство распознавалось как мое, а не "MCB2300 USB VCom Port". Я так думаю, что нужно подменить строки в дескрипторах USB моего класса и в INF файле-драйвере. Может есть у кого инструкция, как и что нужно поменять?
|
|
|
|
|
Oct 19 2010, 14:11
|

Профессионал
    
Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877

|
По результатам тестов с разными ОС выяснилось, что inf из примера написан через.. плохо. Вот несколько лучший вариант. На 64-битных windows я его так и не проверил, зато оно работает с XP, Vista и Win7. CODE [Version] Signature = "$Windows NT$" Class = Ports ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318} Provider = %MSFT% DriverVer = 09/14/2010, 0.0.4.0 ;;LayoutFile = layout.inf
[DestinationDirs] DefaultDestDir = 12
[Manufacturer] %MSFT% = Models, NTx86, NTia64, NTamd64
[Models.NTx86] %SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[Models.NTia64] %SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[Models.NTamd64] %SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[Models] %SERIAL_DEV% = SerialInstall, USB\VID_FFFF&PID_FFFF
[SerialInstall.NT] Include = mdmcpq.inf AddReg = SerialAddReg CopyFiles = FakeModemCopyFilesSection
[SerialAddReg.NT] HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,usbser.sys HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider"
[SerialInstall.NT.Services] Include = mdmcpq.inf AddService = usbser,0x0002,LowerFilter_Service_Inst
[Strings] MSFT = "MSFT" SERIAL_DEV = "USB serial port"
PS "некий ID" в случае USB называется VID и PID. Их надо менять парой - в контроллере и в данном файле.
--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|