Fórum témák
» Több friss téma |
Fórum » PIC - USB - PC projekt
Idézet: „Én logikusan - itt - kerestem eddig” Pedig emlékeim szerint én is onnan töltöttem le (bazi nagy csomag volt, a grafikus könyvtárakkal együtt települt - csak tudnám miért?). Mindenesetre úgy tűnik, hogy megint frissítettek, mert nekem még 2.4-es verzió települt.
Szia! Jelenleg ott tartok, hogy a HID Custom forrás szanaszét szórt elemeit egy projectbe szedtem(nem szeretem a microchip fejlesztőinek szétszórt megoldásait), leszedtem a bootloader linkelést, átírtam a program nagy részét 18F2550-re(mert ezek csak a 4550-t ismerik!) és kigyomláltam mindent ami nem kell. Este még annyira futotta az erőmből, hogy lefordítottam hiba nélkül, de csak ma fogom betölteni ha nem jön más közbe.
Egyáltalán nem biztos, hogy fog futni elsőre, mert a sok ifdef nem kicsit kavarja meg a dolgokat. Én nem rondítanék el egy projectet ilyen módon, ha demo programot írnék. Inkább megírnám egyenként mindegyik PIC-hez, ami szóba jöhet. Sokkal kevesebb munka szerintem, mint tele ifdefezni az egész forrást. Arról nem is beszélve, hogy mennyivel áttekinthetőbb egy fejlesztő számára(kezdőkről már nem is beszélve!) De lehet, hogy ezzel csak én vagyok így?
A sok IFDEF engem is nagyon zavar. De ha minden eszközhöz külön forrást írnak, akkor meg a karbantartás (a javítások átvezetése) kétséges. Kellene egy preprocesszor, ami kiköpné az adott vezérlőhöz/konfigurációhoz való "tiszta" kódot!
Szia! Ma volt kis időm és még jobban lecsupaszítottam a demot, és átalakítottam a saját szám íze szerint(még apróságokat módosítani akarok, hogy még áttekinthetőbb legyen halandó ember számára is.).
Jól működik a saját PC programjával. Most át kéne húznom a C# programot a régi VB6-ra, mert már nagyon hozzánőttem. A .NET teljesen más környezet, a nyelv az másodlagos probléma. De ez már csak érintőlegesen tartozik ide. A CDC-t már régóta használom, de ez a HID Custom nagyon tetszik egyelőre. Tényleg olyan, mint ahogy az USB-s nagykönyvekben meg van írva, bedugod és már működik is!
Sok sikert hozzá!
Jan Axelson The HID page című oldalát ismered? Ott is sok érdekes információ, program és link található.
Nem ismertem, még átnézem ha elakadnék, mert jónak tűnik. Köszi!
Közben sikerült. Bevallom én is meglepődtem rajta! Csatoltam egy képet a próba prgoramról. Egy HID Custom firmware lett átarva 18F2550-be, és találtam API hívás deklarálásokat a neten itt-ott. Kellett még egy dll is. Most már csak remélem könnyebb lesz, mert CDC-velm ár működik a projectem, csak át kell írni a kommunikációs részeket. Köszi az eddigi segítségeket!
Üdv, újra itt vagyok egy kis kérdéssel
A microchip példaprogramban az USBDeviceTasks(); mellett ott van hogy polling or interrupt. Namármost időzítési okokból át kellene írnom interruptra de fogalmam sincs hogy hogyan. Ha valaki már foglalkozott vele írhatna pár sort a tapasztalatairól... Kösz.
Szerintem van ott egy olyan #ifdef valahol, amivel át lehet kapcsolni, hogy polling vagy interruptból menjen. Vagy valamelyik másik demóban nézd meg, mert van a példaprogramok között olyan is, amiben interruptból megy az USB kezelése.
A Microchip demókban (igaz,csak kettőt néztem meg) nálam az interruptos kezelés az alapértelmezett.
usb_config.h-ban látok ilyen sorokat:
Gratulálok, gyorsan ment. Úgy látom az újabb USB stackek már több példát tartalmaznak mint a régiek. Én is használtam custom HID-et, amit ott előrébb linkeltem annak alapján egész jól megértettem. De nekem voltak néha gondjaim, bár én delphiben írtam a programot hozzá. Néha valamiért lefagyott de már nem emlékszem mi volt a baja. Off: Mostani USB projektemben egy USB Host-ot használok, meg egy kompozit eszközt (18F2550) próbálok összehozni vele.
Más dolog ami eszembe jutott. Láttam hogy a cél az, hogy bedugod bárhol a gépbe és megy. Illetve hogy nem kell a driverrel bajlódni. Erről az jutott eszembe, hogy vannak a Voda/Pannon stb USB-s mobil internet modemek (vagy nem tudom mi a pontos neve) Kis névjegykártya méretű USB-s eszközök amivel bárhol netezhetsz.
Ezekben az a spéci, hogy valamilyen módon a hozzájuk kellő driver is már rajta van. Mikor bedugod önmagától onnan települ. Az lenne a kérdésem hogy szerintetek ez hogy működik. Én valami olyanra tippelnék, hogy kompozit eszközként háttértárnak MSD-nek is látszik, és van rajta egy néhány KB fájl is. Viszont azt nem tudom hogy telepítésnél például a windows honnét tudja, hogy egyből ott kell keresni.
Biztos, hogy automatikusan települ a driver, nem pedig valami varázsló indul el, ami feltelepíti?
Hát nem esküszöm meg, lehet hogy valami telepítő indul. Lényeg hogy nem kell letölteni meg keresgélni, hanem a modemben benne van. De azt sem értem hogy indul el magától. Vagy ha egy pendrive-ot csatlakoztatok amin van például autorun fájl, akkor elindít akár egy ilyen telepítő exe-t is az oprendszer?
Mert szerintem ez jó ötlet és lén pont tudnám is alkalmazni.
Igen, ha egy pendrive-on van autorun.inf fájl, akkor tud automatikusan indítani az alapján programot. Ugyanúgy, mint ahogy cd-nél is tud automatikusan indítani (csak én ezt mondjuk utálom, és le szoktam tiltani az automatikus indítást).
Üdv!
Beleírtam ezt:
de nem történik semmi, rákeresve az #define USB_INTERRUPT kifejezésre az egész projectben sem talált ilyet csak a usb_config.h-ban ezt az egy #define-t. Esetleg ha feltennéd azt a két microchip-es demo-t amiben így van azt megköszönném.
A Microchip honlapján ezen az oldalon a legalsó linkre kattintva a Microchip Application Libraries-t töltsd le.
Ebben a hozzászólásban leírtam a "tartalomjegyzéket", ezeket kell megtalálnod telepítés után. (Meg egy csomó egyebet, amit én kitöröltem). A demóprogramokban a main.c-ben látok ilyen kódrészleteket:
Gory, icserny! Köszi!
Bocs, hogy csak most, de olyan helyen vagyok, ahol még térerő sincs. Van még néhány dolog, amin még eltúlóráztam, egyik pont az interruptos dolog volt. Nekem nem sikerült rájönnöm, hogy gyáriak hogyan képzelték el. Én úgy hidaltam át, ahogyan a CDC firmware-nél is régebben, hogy egy timer megszakításba tettem az USBtask hívást. Ezután még az adás körül is voltak gondjaim, mert nem volt teljesen egyértelmű az API és a PIC viszonya. Bővebben majd ha hazaértem(kedden), mert most még olyan friss a dolog, hogy nem emlékszem minden részletére. A telepítős dologgal kapcsolatban van még egy ellenérvem, mégpedig az, hogy ha egy olyan gépen kéne használni az eszközt, ami nem ad rendszergazdai jogokat, akkor nem lehet telepíteni semmit. Jó ez a HID, és nem nehezebb kezelni, mint a CDC-t, csak a megfelelő API deklarálásokat kell megoldani a használt feljesztő rendszerben(PC). Nem néztem utána, de szerintem minden visual rendszerhez lehet valamit találni. Gondolkodom egy cikken is, de csak akkor, ha már jobban körül tudom írni. De igazából bevallom, hogy használni tudom a rendszert, de részleteiben nem látok mindent át. Ti hogy vagytok ezzel?
Köszi megvan, enyémben azért nem volt mert az egy évvel ezelőtti frameworkben még nincs interrupt sehol
Egyébként nézzétek át mert találtam benne két vírus félét: Net-Worm.Win32.Hteibook.o Net-Worm.Win32.Hteibook.p Idézet: „Ti hogy vagytok ezzel?” Ne firtassuk... Nincs időm foglalkozni vele (a PIC24 egyelőre leköti minden szabadidőmet).
Én foglalkozom vele a munkahelyemen, de csak a HID osztállyal periféria és host oldalon. Az FTDI vinculum IC-t is használom. Én írtam már 3 cikket ide a HE-re. A negyediket is elkezdtem, de a befelyezés még várat magára. Szerintem írj cikket ha van időd, mert magyarul elég kevés leírás van (az is a HE-n szerintem), másrészt gyakorlati megvalósításon keresztül mi is jobban megértjük, mintha a szabvány vagy az elmélet van csak laírva.
Igen, olvastam a cikkeidet. Én bootloader nélkül szerettem volna megoldani, ezért nem mindenben segített, de nagyon sok dologban igen! Szilva, potyo, trudnai és icserny is sokat segített mikor a CDC verziót próbáltam gerjeszteni. Az akkor szerzett tapasztalatokkal könnyebb volt a HID is, mert a felszíne nagyon hasonló. Ami bonyolítja a HID kezelését, az a PC oldal. A CDC egyszerű, mert egy szabványos COM port kell csak hozzá. Ezt minden programfejlesztő környezet alapból támogatja. A HID-hez ismerni kell az API-kat, vagy valami dll-t kell felhasználni, amiben már meg van írva az API támogatás. Én ez utóbbit választottam, hasonlóan az LPT és COM port közvetlen kezeléséhez, amikor az égetőimet fejlesztettem. Ha lesz időm és kedvem, nekifogok a cikknek. Csak gyakorlati oldalról fogom megközelíteni, de próbálom nyitva hagyni a változtatásra a dolgokat, és a PC oldalt is próbálom majd bemutatni, ezt VB6 környezetben. Ezt azért szeretem, mert EXCEL-ben is lehet használni. Próbálok keresni majd infót más nyelvekhez is(C#-hoz van a gyári demoban), de kipróbálni nem biztos, hogy ki tudom, mert ahhoz fejlesztő környezet is kéne. Meglátom mire jutok...
Sziasztok.
Elkészült a cikk, amit az oldalamon már olvashattok, itt még engedélyezésre vár. Remélem hasznos lesz valakinek! A cikkben leírtakból kiindulva fejlesztek egy egyszerű szkópot, ami lassú jelek vizsgálatára alkalmas. Jelenleg 1K minta/sec el működik. Egy képet csatoltam a működő programról. Még korán sincs kész, még a grafikon nagyításait, és a mentés visszatöltését el kell készíteni, de a lényeg látszik, hogy mire is lehet jó a HID...
Üdv! Megépítettem a rajzon lévő kapcsolást, de valamiért nem működik. Azt írja windows hogy ismeretlen eszköz. Két másik gépben kipróbálva működik csak pont a sajátomon nem
NeoCortex korábban már segített módosítottam is a nyákot de így sem megy. Kösz a segítséget
Ha 5V-ról járatod a mikrovezérlőt, akkor VDD-t és VUSB nem szabad összekötni!!!
A LED-ekkel sorbakötve meg kellenének áramkorlátozó ellenállások.
Nos, elvágtam de továbbra is fennáll a probléma. Én az ellenállásokra gyanakszom, biztos nem kell a D+ vagy D- lábra valami ellenállat?
Idézet: „...továbbra is fennáll a probléma.” Az USB port egyébként rendben van (pen drive-hoz mit szól?) Idézet: „biztos nem kell a D+ vagy D- lábra valami ellenállat?” A "gyári" programokhoz nem kell. Felismerési problémám a CDC móddal volt. Valószínűleg egy régebbi változat (amivel tavaly kísérleteztem) már benne volt a rendszerben. A régi meghajtót el kellett távolítani, s akkor települt az új. Azóta megy rendben.
Rendben van minden eszköz működik, pendrive, webcamera stb., sőt akkor simán működik ez is ha az ICSP-be bedugom a PICkit2-t.
Csakhát hogy néz már ki hogy azokon a gépeken amiken nem müködik, rádugom az ICSP tüskesorra a PICkitet. Egyébként 3 gépen próbáltam ki és csak a sajátomon nem megy de ugyanez a helyzet a USB gyári demoboardal is. (DM164127) Ha külön rádugom a gyári felprogramozott HID-es PIC-el a gépre (a mini usb-n keresztül) akkor ismeretlen eszköz, ha még tetejébe rádugom a demo boardra a PICkitet akkor rögtön felismeri. És a fő probléma hogy a fejlesztendő eszköz nem saját célra lesz, és mivel nem tudom kipróbálni ott ahová készül ezért nem szabad olyat csinálnia hogy van amelyik gépen megy van amelyiken nem. (szerk.: amúgy a led villogásból ítélve valahol az eszköz felismerésnél bukik el, és erre mondja a windows azt, hogy ismeretlen eszköz, próbáltam úgy hogy eltávolítom az eszközt és újra hozzáadtam eszközkezelőben, de a ledek továbbra is jelzik a hibát és a windows meg Ismeretlen eszközözik) Idézet: „simán működik ez is ha az ICSP-be bedugom a PICkit2-t.” Ezzel csak óvatosan, mert nem is volna szabad egyidejűleg csatlakoztatni az USB-t és a PICkit2-t! (ugyanazokat a kivezetéseket használják) Egyébként az MCLR bemenetet nem ártana felhúzni 10 kOhm-mal VDD-re... Ha nincs PICkit csatlakoztatva, akkor ez a bemenet lebeg, s ha pl. HID bootloader van beírva, akkor ennek a bementnek a logikai szintje dönti el, hogy boot-oljon vagy az alkalmazást indítsa. Lehet, hogy az a "PICkit2-jelenség" oka, hogy felhúzza MCLR-t? |
Bejelentkezés
Hirdetés |