Fórum témák

» Több friss téma
Fórum » PIC - USB - PC projekt
 
Témaindító: JohnyBravo, idő: Szept 26, 2006
Lapozás: OK   12 / 55
(#) icserny válasza watt hozzászólására (») Júl 15, 2009 /
 
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.
(#) watt válasza icserny hozzászólására (») Júl 16, 2009 /
 
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?
(#) icserny válasza watt hozzászólására (») Júl 16, 2009 /
 
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!
(#) watt válasza icserny hozzászólására (») Júl 17, 2009 /
 
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!
(#) icserny válasza watt hozzászólására (») Júl 17, 2009 /
 
Sok sikert hozzá!

Jan Axelson The HID page című oldalát ismered? Ott is sok érdekes információ, program és link található.
(#) watt válasza icserny hozzászólására (») Júl 17, 2009 /
 
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!
(#) qwer85 hozzászólása Júl 22, 2009 /
 
Ü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.
(#) potyo válasza qwer85 hozzászólására (») Júl 22, 2009 /
 
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.
(#) icserny válasza qwer85 hozzászólására (») Júl 22, 2009 /
 
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:
  1. //#define USB_POLLING
  2. #define USB_INTERRUPT

(#) icserny válasza watt hozzászólására (») Júl 22, 2009 /
 
Örülök, hogy ilyen szépen összejött!
(#) Gory válasza watt hozzászólására (») Júl 22, 2009 /
 
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.
(#) Gory hozzászólása Júl 22, 2009 /
 
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.
(#) potyo válasza Gory hozzászólására (») Júl 22, 2009 /
 
Biztos, hogy automatikusan települ a driver, nem pedig valami varázsló indul el, ami feltelepíti?
(#) Gory válasza potyo hozzászólására (») Júl 22, 2009 /
 
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.
(#) potyo válasza Gory hozzászólására (») Júl 22, 2009 /
 
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).
(#) qwer85 válasza icserny hozzászólására (») Júl 24, 2009 /
 
Üdv!

Beleírtam ezt:

  1. #define USB_INTERRUPT
  2. //#define USB_POLLING


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.
(#) icserny válasza qwer85 hozzászólására (») Júl 24, 2009 /
 
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:
  1. //These are your actual interrupt handling routines.
  2.         #pragma interrupt YourHighPriorityISRCode
  3.         void YourHighPriorityISRCode()
  4.         {
  5.                 //Check which interrupt flag caused the interrupt.
  6.                 //Service the interrupt
  7.                 //Clear the interrupt flag
  8.                 //Etc.
  9.         #if defined(USB_INTERRUPT)
  10.                 USBDeviceTasks();
  11.         #endif
(#) watt hozzászólása Júl 24, 2009 /
 
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?
(#) qwer85 válasza icserny hozzászólására (») Júl 25, 2009 /
 
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

mchusb.JPG
    
(#) icserny válasza watt hozzászólására (») Júl 25, 2009 /
 
Idézet:
„Ti hogy vagytok ezzel?”

Ne firtassuk... Nincs időm foglalkozni vele (a PIC24 egyelőre leköti minden szabadidőmet).
(#) Gory válasza watt hozzászólására (») Júl 25, 2009 /
 
É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.
(#) watt válasza Gory hozzászólására (») Júl 25, 2009 /
 
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...
(#) watt hozzászólása Júl 31, 2009 / 1
 
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...

TFH_w.PNG
    
(#) qwer85 válasza NeoCorteX hozzászólására (») Júl 31, 2009 /
 
Ü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

usb.JPG
    
(#) icserny válasza qwer85 hozzászólására (») Júl 31, 2009 /
 
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.
(#) icserny válasza qwer85 hozzászólására (») Júl 31, 2009 /
 
Inkább így!

Bővebben: Link

USB-igy.jpg
    
(#) qwer85 válasza icserny hozzászólására (») Aug 1, 2009 /
 
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?
(#) icserny válasza qwer85 hozzászólására (») Aug 1, 2009 /
 
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.


(#) qwer85 válasza icserny hozzászólására (») Aug 1, 2009 /
 
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)
(#) icserny válasza qwer85 hozzászólására (») Aug 1, 2009 /
 
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?
Következő: »»   12 / 55
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem