Fórum témák
» Több friss téma |
Fórum » PIC - USB - PC projekt
Az AtUsbHidGui osztályban van a lényeg, a konstruktorban a
usbDevice = new AtUsbHidJni(); sorral létrehoz egy usbDevice osztályt, ezzel be is tölti a dll-eket, van itt némi hibakezelés is. A következő lényeges dolog a setDeviceConnected metódus, ezzel kapcsolódik az eszközhöz, ill. ezzel is tudsz szétkapcsolódni. Adat küldéséhez a toogleLed metódusban van egy pl. ez elég egyszerű. A fogadás kicsit trükkösebb, mert nincs az API-nak callback funkciója, ezért időnként meg kell nézni hogy jött-e adat a PIC-től. Erre létre van hozva egy Timer, amiben a usbDevice.readData() metódust hívogatjuk, ez visszaad egy tömböt, és ha ennek a hossza nem 0, akkor jött adat és feldolgozzuk. Más nem is érdekes azt hiszem számodra. A hozzászólás módosítva: Aug 1, 2013
Ilyen metódus nincs: setDeviceConnected.
Ha jól sejtem, akkor a findHidDevice(VID, PID1); metódussal lehet létrehozni a kapcsolatot, de VID -et és a PID -et honnan tudom meg?
Azokat Te adod az USB-s eszközödnek (vagy használod a gyári alapértékeket, ha van neki ilyen).
Azt a CCS USB könyvtárának a leírásában keresd meg (nem használok CCS-t, így nem tudom, hogy hogyan kell beállítáni).
VID = Vendor ID, PID = Product ID, ilyen neveken kell futnia ott.
Nekem 10 másodpercbe tellett megtalálni, a helyes gugli keresőkifejezés használatával: "ccs usb how to set pid": Bővebben: Link
Hát én itt egy darab ID -t sem látok. De lehet sokat segítene, ha tudnék angolul.
Keress rá a VID vagy a Vendor szavakra a forrásfájlokban, ott kell annak lennie valahol. Abban a fájlban, amiben az usb descriptorok vannak. Talán valami usb_desc, usb_descriptors, vagy ilyesmi nevű fájlban lesz.
Superman nem tud angolul?!? Hát mivé lett ez a világ...
Van egy ilyen benne:
Sajna én ezt nem tudom értelmezni.
Ezek az USB descriptor részei, bájtként vannak megadva a kétbájtos VID és PID értékek. Most keresd meg azt a két sort, ami úgy szól, hogy
Talán ott lesznek ugyanabban a fájlban feljebb, de az is lehet, hogy valamelyik másik fájlban. Ez a két sor lesz az, ami megadja a VID és PID azonosítót. Egyébként amikor feldugod a cuccot az USB-re, akkor az eszközkezelőben megkeresve az USB eszközt, jobbkatt rajta, Tulajdonságok, Részletek fül, és ha ott kiválasztod a legördülő menűből az Eszközpéldány azonosítója bejegyzést, akkor alul látni fogsz egy olyat, hogy
Na itt ebből is az xxxx és az yyyy a VID és a PID. A hozzászólás módosítva: Aug 2, 2013
Nagyon nem akar ez a dolog össze jönni.
A CCS fájlban megtaláltam azt a bizonyos két sort: #define USB_CONFIG_PID 0x0020 #define USB_CONFIG_VID 0x0461 Az eszközkezelőben ez szerepel: USB\VID_80EE&PID_0021\5&18F54CB7&0&1 Egyszerűen nem találja meg.
Biztos jókat nézel? Lehet több helyen is ilyen a forrásfájlokban különféle eszközökhöz. Mert egyik VID valami Virtualboxhoz tartozó, a másik meg Windows Pocket PC-hez/Primax electronics-hez tartozó. Ettől függetlenül lehet, hogy jó, de mindenesetre nem térhet el a forráskódban megadott és az eszközkezelőből kiolvasott. Egyik #define sor alá tegyél be valami összevissza szöveget, amin a fordító megakad, hogy biztosan lásd, hogy ezekre a sorokra fut rá fordítás közben. Ha lehúzod az USB-ről, akkor biztosan ez az eszköz tűnik el az eszközkezelőből?
Javaban sajnos nem tudok segíteni.
Proteusban szimulálom az áramkört, szóval mindig szerepel az eszközkezelőben. Azt hiszem több rétegben is gond van. Esetleg nem tudnál kisegíteni egy olyan hex el, ami valami egyszerű USB feladatot valósít meg. Pl.: bekapcsol egy ledet ha egy adott csomagok kap. Így legalább 1 réteget ki tudnék zárni. A Proteusban lévő szimulációval szerintem nincs gond, de ki tudja. Az ördög soha nem alszik.
USB OTG-t csinált már valaki PIC-en? Valyon mennyi hely kell a stack-nak?
Nekem úgy rémlik, hogy van valami helyfoglalásról szóló táblázat a Microchip példakódokhoz társított súgóban.
Hát akkor én béna vagyok, mert egyenlőre nem találtam ilyesmit.
Üdv!
Hivatalosan az USB adatvonalai 90ohm hullámellenálásúak. Mennyire kell ezt betartani paneltervezéskor ha kb. 3...4cm távolság van a mikrovezérlő és a csatlakozó között? Továbbá - a rugalmasság érdekében - kellene elágazás egy A és B csatlakozóhoz, ill. átkapcsoló 2 USB forrás felé. (A mikrovezérlő kapcsolódhatna az A és B csatihoz is, ill. alternatívaként egy UART-USB átalakító is rámehetne a B csatira. Akár mindkettő is működhetne párhuzamosan.) Ez az elrendezés mennyire érinti negatívan a jelminőséget? Van valakinek erről tapasztalata?
Van egy "projektem " ahol 2pic et kellene adatokkal ellátnom egy usb csatlakozóról , hogyan oldható meg a párhuzamosítás? Kell valami cél ic vagy egyszerűbben is megoldható?
A hozzászólás módosítva: Dec 27, 2013
USB HUB vagy egy 3. pic, ami egy összetett USB eszköz. ezetleg az egyik meglévő pic lesz az összetett USB eszköz, ami más csatornán (uart) kommunikál a másikkal.
A hozzászólás módosítva: Dec 27, 2013
Sziasztok!
Van egy Synology USB Station2 NAS szerverem. Ehhez USB-n keresztül csatlakozik egy Samsung 3G Station külső merevlemez. A NAS menüjében be lehet állítani, hogy hány perc inaktivitás után kapcsolja le a külső vinyót. Sajnos, akármilyen időt adok meg neki, ha nincs adatforgalom pár perc elteltével kikapcsolja a vinyót. Ez egyrészt idegesítő, másrészt gondolom a vinyónak se túl jó ez a sok leállás/újraindulás. Arra gondoltam, hogy mi lenne, ha megbontanám az USB-kábelt, elvágnám a tápot, egy PIC-el figyelném a NAS-tól érkező 5V-ot, ha az megérkezik, a PIC kimenete kapcsolná be a vinyót, inaktivitást követően ahogy a NAS elveszi az 5V-ot a PIC elkezd számolni és csak X idő múlva kapcsolja le a vinyót. A fizikai megvalósítással nem lenne gondom, csak az a kérdés, hogy ez így működőképes e? Nem okoz e gondot a vinyó működésében?
Nem hiszem hogy a VBUS (5V) elvételével állítja meg a NAS a lemezt. Inkább csak egy parancsot küld neki, hogy kapcsoljon készenléti módba. Így az 5V figyelésével nem mész semmire. Szerintem...
Értem... Akkor első körben meg kellene mérnem, hogy mi történik, mikor aludni megy a vinyó.
Sziasztok. Tudtok tanácsot adni? Egy régi jojstickot szeretnék a számítógéphez illeszteni.
A probléma az, hogy billentyűzet vezérelt játékokhoz kell. Tehát a Jojsticnak miután rácsatlakoztattam a számítógépre (gondolom usb porton keresztül) billentyűzetként kellene viselkednie, s a jojstickon kellene valahogy beállitanim melyik állás melyik billentyű megnyomásának felel meg. mert van amelyik játék pl. nyíllal megy jobbra, de van amelyik pl. a vagy s betűvel. Esetleg van olyan topic ahol ezt már megcsinálták? A hozzászólás módosítva: Jan 8, 2014
Szia!
A legegyszerűbb, ha kibányászod egy olcsó/régi USB v. PS/2 billentyűzet elektronikáját és a gombokat a billenytyűmátrixba kötöd, pl. a nyílak helyére. A játékban meg úgyis többnyire meg lehet változtatni a hozzárendeléseket. Érdemes olyan mátrixpontokat választani, hogy több gomb együttes lenyomásakor se keletkezzen "szellem". Kissé bonyolultabb amikor saját vezérlőt raksz össze PS/2 csatolással. A PS/2 jóval egyszerűbb az USB HID megoldásnál, ellenben van olyan alaplap amin már nincs PS/2 port.
Szia!
Ha a joystickod a géppel össze tudod kötni, akkor a joytokey programot tudom a figyelmedbe ajánlani. Nekem USB-s keypadot nem ismerte fel játékom (a Windows simán kezelte, de a játék nem látta, mint joyt), s ez remek áthidaló megoldásnak bizonyult.
Köszi mindkettőtöknek, de közben kiderült, van egy óriási probléma:
Ez nem is joystick, elirtam. ez távirányitó. a feladat az hog yszimulátor programokat használjak "igazi" modell távirányitóval. És az az óriási különbség a joystick és e között, hogy a joystickban kapcsolók vannak, itt azonban potmetert teker a kar vagy valami olyasmit, a lényeg az, hogy a kar különböző mértékű megdöntése nem csak "legyom" egy billentyűt" hanem a lenyomás mértékét is megszabja. ugyhogy ujra kell gondolni az egészet. a program ehhez lesz irva vagy ilyen programok lesznek beszerezve. nem tudom ennek amit leritam mi a neve de azt mégkevésbé hogyan is lehet megvalósitani. de azt hinném nem én találtam ki hanem már megcsinálta valaki, ergó an hozzá pl. mikrokontroller, esetleg kapcsolási rajz s forráskód. asszem a billenytűzetet mint hasonlatot ugy ahogy van el kell felejtenem.
Google barátod mit mond? (pl. joystick USB PIC kulcsszavakra) Van sok projekt, de te tudod, hogy melyik áll közelebb az elképzeléseidhez.
Például: Cytron USB Game Controller Kit (van mellette leírás, kapcsolás és mintaprogram is) |
Bejelentkezés
Hirdetés |