Fórum témák
» Több friss téma |
Fórum » PIC - USB - PC projekt
trudnai, icserny, potyo!
Köszi a válaszokat, igazatok van, bennem volt képzavar, a drivertől függ. Az eszközkezelőben nem látszik a COM3...16, de amikor kézzel akarom kiosztani a COM számot, akkor azt mutatja a legördülő menü, hogy haszáltak a portok(csatoltam egy képet). Ezért a csatlakozáskor egy magas portszám kerül kiosztásra. ezen viszont nem működik a kommunikáció. A COM2 nekem szabad, mert csak egy port van az alaplapon, de érdekes, hogy nem erre osztódik ki. Ha kézzel ráosztom, működik. De ha huszonix portot osztok ki, nem. Nem értem a dolgot.
Talán megoldást rejthet az alábbi link: Bővebben: Link
Az USB Device - CDC Serial Emulator nálam működik COM23-ként is (egy VC++ alkalmazással -a PIC-kwik projekt bootloaderével). A korábban említett SUNIX (PL2303) átalakító pedig COM22-ként (Hyperterminállal próbáltam).
Viszont ezek a COM portok azonnal "használatban levőnek" lettek nyilvánítva, nem tudom, hogy lehet ezt kitakarítani. Ha ez így megy tovább, elfogynak a COM portjaim!
Norberto: Köszönöm a tippet! Ennek segítségével tényleg lehet takarítani. Érdekes módon 6-7 COM port még takarítás után is használatban levőnek van titulálva! De legalább a saját korábbi hozzárendeléseimet sikerült kitakarítani!
Watt: Nálam COM10 és COM16 között négy portot a mobiltelefon számára (Sony Ericsson) rezervált a rendszer.
Köszi, ez tényleg hasznos! (Főleg az az infó, hogy fel lehet venni a rendszerváltozók közé a megjelenítés bellítását! "devmgr_show_nonpresent_devices=1")
Kitakarítottam a Bluetoot dolgait, ennek ellenére a 3..16-ig portok használatban lévőben maradtak. Még küzdök vele!
Hali!
Írtad a "USB HID Demo @watt" cikkedben hogy nem használ hibakezelést. Ez kb. mit is takarna? Nem elég vizsgálni hogy nincs elfoglalva pl. küldés közben az USB ezzel:
De, gyakorlatilag elég.
A hibakezelés alatt azt értem, hogy ha bármilyen USB hibajel keletkezne, az nincs lekezelve. Az USB-hez tartozó hibajelző biteket az adatlapban megtalálod. Sokkal többet én sem tudok róluk jelenleg, mert nem volt erőm még belefolyni ilyen szinten, miután nagy eséllyel működik kezelés nélkül is a dolog.
Értem, köszi a választ.
Nézegettem a Gory féle "PIC 18F4550 USB útmutató" cikksorozatot, (átolvastam az egészet egy jópárszor, programokkal együtt), de ez a HID osztály kényelmesebbnek tűnik (mármint user szinten). Szóval inkább ezt írom át 18F4550-re, ha jól sejtem, akkor csak a lkr fájlt kell kicserélni, meg persze az esetleges port beállításokat átállítani, ha vannak, a konfig bitek is elvileg tökre ugyanazok.
Ha megfelelő a HID sebessége, akkor én sem kisérleteznék mással. CDC akkor jó, ha már meglévő, soros portra előlátott PC oldali programhoz kell megoldani a másik oldalt. De ha mindkét oldal most készül, akkor sokkal célszerűbb a HID.
Bőven elég ez a sebesség, tehát marad a HID.
A CDC kapcsolatot inkább a PICCOLO projekt honlapján tanulmányozd, mert az eredeti Microchip demó főprogramjának átszervezésével és néhány új eljárás bevezetésével sikerült barátságosabbá és a CDC végtelen karakterfolyam logikájához jobban illeszkedővé tenni a használatát.
Elsősorban ott javasolható a használata, ahol kétirányú, terminál jellegű (vajon tudják még a mai fiatalok, hogy mi a terminál?) kapcsolatra van szükség.
Olvastam ezt is, itt már nagyon szépen, részletesen le van írva hogy minden, de még átolvasom egyszer, (meg a jövőben még egy párszor ), hogy tisztába legyek ha nem is mindennel, de legalább az alapokkal.
Most jön a project nehezebb (illetve időigényesebb) része: megtanulni a C-t.
Az addig oké, hogy át bírok írni benne egy-két dolgot, de hogy saját projectet csináljak, ahhoz már kevés. Kár hogy nem asm-ben van ez az USB-s program, bár akkor kicsit hosszabb lenne a forráskód (mármint PIC oldalon) . Szerencsére van egy kis C++ jegyzetem, igaz az PC-re, de az alapoknak bőven elég, aztán már csak a PIC-re át kell állni, úgy mint asm-nél.
En atirtam magamnak asm-be. Rosseb szorakozzon a c-vel...
Az engem is érdekelne, ha nem titkos! (Habár már megszerettem a C-t is...)
Az nem semmi, le a kalappal! :kalap: Annyi idő alatt megtanulom a C alapjait. Kompletten az egész projectet átírtad, az összes C fájlt is?
Nem tudom, mi az osszes file. A CDC-s dolgot irtam at.
Mindjart mellekelek egy ilyen file-t, amiben az elejen benne van. Ez egy EEG-s adatgyujto, 4553-al. A PC oldalon a Microchip hagyomanyos drivere figyel, virtualis soros portnak latvan.
Port beállítások, belső perifériák, USB kezelés, főprogram, ezek mind külön C fájlban vannak, legalábbis nálam...
Ja, meg a 4550.inc file vegere oda kell tenni a
makroimat, hogy ertse. mov MACRO hova,mit ;a value into memory movlw mit movwf hova ENDM movbb MACRO hova, honnan ;merge mem2 into mem1 via W movf honnan,W movwf hova ENDM skipc MACRO btfss STATUS,C ENDM skipnc MACRO btfsc STATUS,C ENDM skipz MACRO btfss STATUS,Z ENDM skipnz MACRO btfsc STATUS,Z ENDM carry1 MACRO bsf STATUS,C ENDM carry0 MACRO bcf STATUS,C ENDM stc MACRO bsf STATUS,C ENDM clc MACRO bcf STATUS,C ENDM ret MACRO return ENDM jmp MACRO valahova goto valahova ENDM
Egyébként olyat lehet hogy egy C-s kódból meghívok egy asm fájlt és azt futtatja le?
Biztosan. Csak akkor elveszik a totalis controll, ami miatt en az asm-et szeretem, nevezetesen, hogy az utolso bitnek is tudom a helyet es a funkciojat.
**** Egyebkent en a PC oldalon is MASM32-ben irok... Khmm.
Lehet C-ben is úgy írni, hogy megmarad a totális kontroll, csak épp azokat a dolgokat csinálja meg a fordító, amin tényleg nincs semmi gondolkoznivaló. Pl. matematikai műveletek ilyenek, azokat úgyis egyszer megírnád, aztán mindenhová csak bemásolnád.
Köszi, holnap belekukkantok, most megyek aludni!
Régebben én is át akartam írni, aztán egyszerűbbnek láttam megtanulni a C-t. Le a kalappal, hogy neked ez sikerült!
A PC-n belül nincs összekötve az USB GND és a tápegység GND?
Csak mert kb. 0,2V-ot mérek köztük...
De össze kéne kötve legyen. Kérdés, hogy azon az ágon mekkora áram folyik és milyen vastag a vezető(illetve mekkora az ellenállása, amin eshet 0,2V).
|
Bejelentkezés
Hirdetés |