Fórum témák
» Több friss téma |
Sziasztok!
Mit szóltok ehhez a projekthez? Ahogy látom egy arduino uno elég hozzá, és a beépített rs232-usb átalakításra használt chipet kódolja át billentyűzetnek. Mi a véleményetek róla? Szét lehet lőni a panelt valahogy? Azt írja hogy nem, de azért jobb ha megkérdem. Ha jól látom az lenne az előnye hogy nem foglal semmi erőforrást az avr-ből, ráadásul semmit nem kell pluszban hozzá építeni. Az eredeti elgondolásom az lett volna hogy egy usb-s billentyűzetet szétszedek, és én "nyomogatom" a gombjait egy uno-val. A fenti azért sokkal szebb megoldásnak tűnik
Megszívtam. Ami nekem van, az nem is atmega16u2 chipet használ, hanem CH340G-t. Afrancba. Rá lehet ezt venni valahogy hogy billentyűzetnek mutassa magát? Gondolom itt már megint kezd drágább lenni a leves mint a hús.
A hozzászólás módosítva: Szept 11, 2016
Na hogy érdemben is hozzászóljak: Bővebben: Link
Ez egy arduino unóval működik. Fontos, hogy le kell tölteni hozzá az 1.0-ás ide-t, mert különben nem fordul le!!! Lefordítani sikerült, holnap szerzek külső alkatrészeket hozzá, és kipróbálom!
Üdv!
Valakinek akadt e már gondja a V-USB-ben, a USB_CFG_PULLUP_IOPORTNAME, azaz a 1k5 ohmos felhúzó ellenállás beállításával? Nem a gyári V-USB-t használom, hanem az USBasp forráskódjában próbáltam beállítani, de nem működik. Ha simán VCC-re kötöm, akkor minden jól megy. Több PORT-on is próbáltam.
Üdv!
Szóval, ha jól értem a leírást, akkor elég lenne csak az usbconfig.h-ban ezt a 2 sornyi definíciót engedélyezni (és természetesen a megfelelő pinre kötni az ellenállást):
Mivel ez igy nem működik, igy a comment segítségével belenéztem az usbdrv.h-ba is, hogy hol is van a usbDeviceConnect() és a társa:
Elég egyszerűnek tűnik, hogy mi is történik itt. Egy gondolattól vezérelve összeraktam a két kódot, hogy akkor mi is történik. Így mindkét esetben felismeri az USB, ha a pinre vagy ha a VCC-re van kötve az ellenállás. Marad a kérdés: Mire jó, ha pinre van kötve az ellenállás és nem a VCC-re?
Idézet: „Mire jó, ha pinre van kötve az ellenállás és nem a VCC-re?” Oda van írva a kommentbe: Idézet: „* If you connect the 1.5k pullup resistor from D- to a port pin instead of * V+, you can connect and disconnect the device from firmware by calling * the macros usbDeviceConnect() and usbDeviceDisconnect()” Firmware-ből el tudod dobatni az USB kapcsolatot a hostoddal. A következő esetekben tud hasznos lenni: - Eszköz lemegy valami low power módba. - Bootloader más USB protokollt használ így firmware frissítés előtt újra kell enumerálni (hogy pld. a Windows a másik drivert töltse be)
Ok, ez érthető, csak a gyári kód nekem mégsem megy.
Mint fent is írtam, hogy ha aktiválom (kikommentelem) a két sornyi definiciót:
akkor a leírás szerint működnie kéne, de mégsem. Ha az usbDeviceConnect()-et módosítom:
azaz a két parancsot összevonom, akkor megy.
Üdv!
Egy gamepad-et építek V-USB-vel ami a távirányítóm PPM jeléből kapja az adatokat. Az alap 4 tengelyes megoldás működik, de amikor gombokat is adok a jelentésleíróhoz akkor valamiért meg se mukkan. Több megoldást is próbáltam, volt amikor a számitógép is hibásnak mutatta, és volt amikor nem volt hibaüzenet, felismerte az eszközt de a se a gombok se a tengelyek nem működtek. A mellékelt kód az alap 4 tengelyes megoldás, a bővitett jelentésleíró ki van kommentelve(ez az utóbbi hibát produkálja) meg a report_t struktúrában a gomb változó és a változó értékének beírása is. Mi lehet a gond a bővített jelentésleírómmal?
Megoldottam. Úgy tűnik a gond az volt hogy a V-USB összesen csak 8 adatbájtot enged használni. A tengelyeket 8 bitesre cserélve már működik.
|
Bejelentkezés
Hirdetés |