Fórum témák
» Több friss téma |
Fórum » CCS PIC Compiler
Számomra áttekinthetetlennek tűnik a CCS USB kezelése (igaz, a Microchipé is, úgyhogy bennem van a hiba!), de az eddig látottak/olvasottak alapján az usb_hid.c vagy valamelyik másik (pl. ex_usb_kbmouse2.c) példából kellene kiindulni. Ezekben kevésbé cifrázzák a konfigurálást, lényegében ennyit látok:
Az interrupt vagy bulk gondolom, ízlés dolga. A bufferméretnél itt EP1 van és nem HID, mint nálad. A méret (TX/RX_SIZE) ebben a példában 8, ezt nyilván növelni kell. Úgy tudom, hogy ez kettő hatványa szerinti szám, tehát 10 ne legyen, hanem 16, 32, vagy 64! A full-speed elvileg alapértelmezett, csak letiltására láttam példát (#define USB_USE_FULL_SPEED FALSE) Tehát PIC18F2550 esetén eleve full-speed kellene, hogy menjen. A nagy kérdés azonban az, hogy a belső USB felhúzás be van-e kapcsolva, vagy ki mondja meg a PC-nek, hogy most egy Full-speed, vagy Low-speed eszköz kapcsolódott? Ami még nagyon fontos: a definiciók legyenek előbb, utána az include-ok!
Igen, ezt en sem ismerem sajnos es nem tudom ez az RX/TX mit csinal, mit allit be, de ahogy mar emlitettem a HID eszkoz a szabvany szerint Interrupt protokollt hasznal (idezet a HID szabvany konyvbol):
Idézet: „4.4 Interfaces A HID class device communicates with the HID class driver using either the Control (default) pipe or an Interrupt pipe.” (Ugye itt az Interrupt vonatkozik a tenyleges adat atvitelre, a Control az valoban csak az USB ugyes bajos dolgainak kezelesere szolgal, de szamunkra hasznos informaciot nem tovabbit a PC fele). Szoval nem tudom az az RX/TX mit allit, de ha ehhez van koze akkor ezt is figyelembe kell venni, minthogy low speednel az Interrupt buffer merete 8, full-nal 64, tehat lehet 64-re kellene allitani(?). Ha nincs koze az Interrupt protokollhoz akkor viszont utana kell jarni, hogy az az USB-s konyvtar amit Whalaky hasznal kepes-e pl az atkuldendo adathalmazt csomagokra bontva tovabbitani blokkmeretre szeletelt allapotban. Az pedig, hogy nem megy a full speed azt nem tudom miert lehet, de tenyleg elkepzelheto ahogy mondod, hogy a felhuzok nincsenek (jol) beallitva, vagy pl a kabel nem megfelelo, az orajel nincs jol beallitva -- nem tudom...
Köszönjük a tippet, nagyon hasznosnak látszik! Az USB HID oscilloscope forráskódjában látottak megerősítik a korábban írottakat. A konfigurálás ebben így néz ki:
A kapcsolási rajz szerint ez a program a belső felhúzást használja (mert a PIC-en kívül semmi sincs a D+/D- vonalakra kötve).
Sziasztok.
Tud valaki segiteni?Hi-teck c forditohoz hol találok 16fxxx pichez header fileket.Szóval ujból elkezdem tanulni a pic c nyelven programozását (MPLAB 8.1 C forditó Hi-TECH 9.7)és elakadtam mert a pic16f877 hez nem találok header filet (sok tipushoz van de ehhez pont nincs)lehet hogy én vagyok a béna és nem találom.Ha valaki tud linket vagy tud segiteni megköszönném. Ui:lehet hogy hülyeséget kérdezek de a CCS forditó header feleit nem lehet hozza használni?
Hála és köszönet mindenkinek!
Kitörő örömmel jelentem a cucc MŰKÖDIK. icserny "találmánya" bejött egy kis kiegészítéssel
Erre azért volt szükség, mert a PC oldali program a készülék csatlakozáskor megkapja hogy milyen hosszú csomagokat fog küldeni, és ahoz állítja be a PC oldali buffer méretét. Ami érdekes a dologban hogy így is csak 16 byte-os csomagokat hajlandó küldeni, de az a mostani projectemhez elégnek tűnik. Azért ha valakinek van ötlete rá azt még szívesen venném, hátha máshol még jól jöhet Mégegyszer köszönöm mindenkinek! Üdv! Whalaky |