Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Проблем при повторно свързване на PIC18F4455 по USB
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7142
Страница 1 от 1

Автор:  jtopalov [ Сря Сеп 16, 2009 5:14 pm ]
Заглавие:  Проблем при повторно свързване на PIC18F4455 по USB

Здравейте!
Правя HID USB устройство с PIC18F4455 (MikroC), Идеята е да превключвам пинове (LED) с програма от компютъра (написана на Delphi 7 с mcHID.dll). Платката се захранва от USB-то на компютъра.
Програмирам контролера, поставям го на цокъл на работната платката. Свързвам платката с USB кабел към PC-to и устройството се разпознава автоматично от Windows XP SP3. Стартирам PC програмата, тя разпознава устройството и програмата може да изпраща данни към HID USB устройството (светва един светодиод, ОК!). На извод 18 на PIC18F4455 (Vusb) има 3.39V. Към този пин има и кондензатор 470 nF (както пише в указанията). До тук, всичко е наред.
Изключвам HID USB устройството и след секунди пак го включвам към PC-to - НИЩО. Не се разпознава! Програмата на PC-to също не го разпознава. Не се разпознаваи от друг PC. Все едно устройството е "умряло". На пин 18 на PIC18F4455 (Vusb) има 0V вместо 3.3V. Това се повтаря и с чисто нов чип, който купих днес (помислих, 4е съм изгорил стария и го смених с нов). Къде сбърках? Някакви идеи?
Схемата е подобна на дадената, но захранването е по USB кабела.
Благодаря предварително!

Прикачени файлове:
usb.sch.jpg
usb.sch.jpg [ 116.92 KiB | Прегледано 1471 пъти ]

Автор:  valioman [ Сря Сеп 16, 2009 5:25 pm ]
Заглавие: 

на Vusb сложи 100n.
А с HID нещата са малко по сложни от колкото изглеждат
1.Огледай си класа който ползваш ... пакета НЕ трябва да надвишава 128 байта.
2.Единствения драйвер с който успях да постигна най добри резултати беше тоя на ATMEL.ще се опитам да го прикача тук.С всички други след няколко цикъла на приемане и предаване забиваха бозата.
Ако всичко ти е ок трябва ВИнаги да се разпознава в HID секцията на device managera.
А и гледай да не дублираш някое ID :)

Прикачени файлове:
AtUsbHid.zip [24.43 KiB]
162 пъти

Автор:  jtopalov [ Пон Окт 05, 2009 12:59 pm ]
Заглавие: 

Благодаря за съветите! Реших проблема! Смених кварца 8 MHz с нов (имах под ръка 4 MHz), смених кондензатора от 0,47 uF 100 nF по съвет на nanev (мерси!) i промених настройките за да работи на 4 MHz ! Полу4и се!

Автор:  relsys [ Пон Окт 05, 2009 1:15 pm ]
Заглавие: 

А, защо не използваш CDC?

Автор:  jtopalov [ Пон Окт 05, 2009 3:53 pm ]
Заглавие: 

Използвам HID, а не CDC защото отскоро се занимавам с PIC/USB (MikroC/Delphi) и намерих примерни кодовеза работа с HID. Ще проверя за такива и за CDC.

Автор:  relsys [ Пон Окт 05, 2009 4:26 pm ]
Заглавие: 

jtopalov написа:
Използвам HID, а не CDC защото отскоро се занимавам с PIC/USB (MikroC/Delphi) и намерих примерни кодовеза работа с HID. Ще проверя за такива и за CDC.


Добре де, при положение, че пишеш на Delphi, тогава пиши и на mikroPascal. Dany от форума на mikroe е разписал CDC на Pascal. Ако не знаеш какво е CDC - прави така, че USB устройствата се виждат като RS232 на PC-то, от там е по - лесно да се направи софтуера за PC.

Автор:  valioman [ Пон Окт 05, 2009 4:34 pm ]
Заглавие: 

relsys написа:
прави така, че USB устройствата се виждат като RS232 на PC-то, от там е по - лесно да се направи софтуера за PC.

Стига ве, добре че се отлъчих от клана на Делфистите ( нищо лично) ... не може за всичко компонент да се търси :) .. ей на DLL- а съм го качил .... тестван е и няма никакви проблеми .. толкова ли е трудно да извикаш готова функция била тя и от външен DLL , или е по лесно да си смъкнеш компонента за RS232 .. да настройваш 15 параметъра да обработиш 5 събития за да си прехвърлиш 2 байта :))))..е да кликането с мишка е по готино от писане на код..

Автор:  relsys [ Пон Окт 05, 2009 5:00 pm ]
Заглавие: 

valioman написа:
relsys написа:
прави така, че USB устройствата се виждат като RS232 на PC-то, от там е по - лесно да се направи софтуера за PC.

Стига ве, добре че се отлъчих от клана на Делфистите ( нищо лично) ... не може за всичко компонент да се търси :) .. ей на DLL- а съм го качил .... тестван е и няма никакви проблеми .. толкова ли е трудно да извикаш готова функция била тя и от външен DLL , или е по лесно да си смъкнеш компонента за RS232 .. да настройваш 15 параметъра да обработиш 5 събития за да си прехвърлиш 2 байта :))))..е да кликането с мишка е по готино от писане на код..


Ще се въздържа от това да ти влизам в тона, ами я поне дай описание на това dll.

Автор:  valioman [ Пон Окт 05, 2009 5:22 pm ]
Заглавие: 

http://www.atmel.com/dyn/resources/prod ... oc7645.pdf

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/