Fórum témák
» Több friss téma |
Fórum » PIC - USB - PC projekt
A programban hivatkozok egy a linkerben deklarált szekcióra:
Nem mindegy hová kerülnek, mert a további deklarálásokat is elrontja. Magyarul a fene tudja hová kerültek a változók...
Akkor nem értem miért nem dobott fordítási hibát a feloldatlan hivatkozás miatt.
Amúgy, ha kérdeznéd azért kezdtem rögtön egy ilyen "komoly" dologgal: mert pic10,12,16 széria már jól megy asm-ben és általában olyan dolgokat csinálok ahol elkel a pc-pic kommunikáció és laptopon nincs soros port.
A C nem törődik azzal, hogy hol és mennyi memóriát foglalsz le, ez a PC-n futókkal is így van. A fejlesztő dolga, hogy a területeket helyesen kezelje. Ez nagyobb szabadságot ad, viszont ára van. A Basic viszont nagyon megköti a kezet. Van mikor az egyik, van mikor a másik a jó választás. PC-nél én a Basic-re szavazok
Átírtam az egyik mc. által adott usb-hid programot, hogy menjen a te alap fw.-eddel amit publikáltál. Sajnos nem event alapú az olvasás..
VisualStudio 2008 C++ .net. A HID PnP demo app érdekesebbnek tűnik mert nem használ semmi külső .dll-t. Valami ram fájlt használ olvasási buffernak. Talán át lehet írni, hogy valami függvényt hívjon meg mikor adat érkezik. Gondolom van 18f14k50-re is usb-HID. Idézet: „A HID PnP demo app érdekesebbnek tűnik mert nem használ semmi külső .dll-t.” Igen, ott valahogy direktben kezelik az API-t. A dll-es megoldásokban a dll-ben van megírva az API kezelés rész, azokat csak hívogatni kell, ezért egyszerűbb. Ha lesz időm és kedven, én is megnézem a gyári forrást, hogyan oldják meg. A programodat, ahogy lesz időm kipróbálom. Miért nem eseménykezelt az olvasás? A gyáriban sem az? Hogy oldod meg, hogy észrevegye, ha jött adat? Idézet: „Gondolom van 18f14k50-re is usb-HID.” Biztosan, de ha nem, akkor szerintem a 4550-est nem nehéz ráilleszteni.
Be van téve egy timer ami 10mS-onként nézi, hogy jött-e adat. Gyáriban sem esemény kezelt. A programok küldenek egy csomagot majd megvárják a visszaérkezőt.
Amit te tettél fel forrást pc-re azt nem sikerült átírni vb.net alá. Pedig találtam vb.net-hez template-t de az is állandóan pointer hibákat dobált.. Ha a .dll-nek meg lenne a forrása az jó lenne. Amit a microchipes demók használnak mpusbapi.dll az nem tud eseményt átadni vagy függvényt hívni. A forrása a C:\Microchip Solutions\USB Tools\MCHPUSB Custom Driver\Mpusbapi\Dll\Borland_C mappában van (alapértelmezett mappába történő telepítés esetén). Valahol láttam libusb-vel történő megvalósítást is. Az jó lenne mivel platformfüggetlen. (ami nekem később lényeges lenne mivel minél előbb szabadulni szeretnék win alól, csak hát szinte minden csak ezt támogatja) Idézet: „Ha a .dll-nek meg lenne a forrása az jó lenne.” Jó bizony, de sajna nem tudok róla, hogy lenne. Azt nem éretem, miért nem működik a .net alatt, habár az igaz, hogy teljesen más alapra épül(.net futtatási környezet). Néhány egyszerű programot írtam C-ben, és basic-ben .net alatt, de nem nyerte el a tetszésem, mert mindent újra kellett volna tanulni. Így maradtam a VB6-nál. Eddig nem volt olyan, amit ne tudtam volna megoldani vele. Ezzel nem azt állítom, hogy mindent meglehet...
"PIC - USB - PC projekt
Nekem ilyen megoldásra lenne szükségem, szóljatok ha nem jó helyen járok. Partnert keresek egy kapcsolás kiépítésére. Célja: =================== 25 led közül lehessen számítógéppel kapcsolgatni melyek égjenek. Soros porton keresztül egy vezérlővel, a vezérlőt a számítógép kapcsolgatná. (soros, usb, egyéb?) Mihez? =================== Parkoló vezérlése. Piros, vagy zöld led kigyújtása. Feladat: =================== egy script vagy exe elkészítése, ami a vezérlőt ""vezérli"". És magának a vezérlőnek az elkészítése. További információt e-mailben tudok adni. Keressetek. Legjobb egy standard eszköz lenne.
Szóltunk.
Szia!
Hová írjak ilyen kérdésben, ha nem ide?
Idézet: „Hová írjak ilyen kérdésben, ha nem ide?” A szakmai kérdéseket természetesen ide írjad, de a partnerkeresés az Apróhirdetések közé való. Bővebben: Link
Üdv mindenkinek!
PIC18F87J50-hez tudnátok olyan USB bootloadert ajánlani, amihez van Linux alatt használható letöltőprogram? Parancssori verzió is tökéletesen megfelel... Amit eddig találtam, az sajnos, csak PIC18F4550-hez és társaihoz jó.
Sziasztok!
Kezdő vagyok USB bootloaderes témában! Csináltam próbát a 18f4550-el és a microchip gyári bootloaderével, a bootloadert beégettem, és a windows xp is felismerte, miután a boot és reset gombot lenyomtam, telepítette a drivert. A PDFUSB-vel beküldött saját programom - kiválasztottam felül a pic-et, és látta is - viszont nem akar működni, holott működött normál beégetésnél! Én nekem jelenleg szükségtelen a pic és pc usb-n keresztüli kommunikációja, amelyről nagyon sok cikket és leírást találtam, én csak a bootloader segítségével saját programot akarok égetőeszköz nélkül a pic-be küldei és használni. Új projektet hoztam létre, amibe a saját programom mellett a szükséges linker skrip-et is hozzáadtam, a konfigurációs biteket is beálítottam, hiba nélkül lefordul, de miután a PDFUSB-vel beküldöm a pic-be, mégsem működik. Abban sajnos nem vagyok biztos, hogy jól tettem e, hogy új projektet hoztam létre, és nem vagyok biztos abban sem, hogy a saját kódot nem kell e kiegészíteni még valamivel! Segítségeteket előre is köszönöm!
A probléma ott szokott kezdődni, amikor egy PIC-hez többféle bootloader és ennek megfelelően többféle letöltőprogram és linker script is van. Jól össze lehet őket keverni...
Ráadásul az MHCPUSB bootloader csak fele annyi helyet foglal, mint a HID bootloader, de kell hozzá driver. Ehhez egyébként az rm18f4550 - MCHPUSB Bootload.lkr linker állományt és a PDFSUSB.exe letöltőprogramot kell használni. Én a HID bootloadert használom (a PIC18F87J50-hez speciel nincs is más), ehhez viszont más linker állomány és más letöltőprogram kell. Javaslom, hogy ennek ismeretében előbb az előrefordított demókkipróbálásával próbálkozz (azok közül is a a bootloaderedhez való hex állományokkal. A Precompiled Demos/PICDEM FSUSB könyvtárban az MHCPUSB bootloadable mappában vannak a "driveres" bootloderhez való fájlok. Utána lehet kísérletezni... Az új projekt nem gond, ha tudod, hogy melyiklinker scriptkell és hogy kell a Reset és interrupt vektorokat áthelyezni (lesd ki a mintapéldákból!). Idézet: „A PDFUSB-vel beküldött saját programom - kiválasztottam felül a pic-et, és látta is - viszont nem akar működni, holott működött normál beégetésnél!” Éppen most szembesültem ezzel a problémával, s nálam ez lett a megoldás egy egyszerű, interrupt nélküli (ledvillogtató) programhoz!:
Vigyázat! Ez HID bootloaderhez való! A PDFSUSB bootloaderhez az alábbi definicíót kell berakni:
Természetesen interrupt használata esetén hasonló módon a magas és alacsony prioritású interrupt vektorokat is "át kell telepíteni", ahogy a mintaalkalmazások main.c állományában csinálják.
Köszi szépen a gyors választ! Már működik is!
Helló!
Valaki becsatolna egy működő watt fél USB HID Demo projectet 4550-re állítva? Előre is köszi. üdv brejti
Heló!
Az lenne a kérdésem hogy lehetséges e hogy a pic18f4550-al azért nem akar müködni az USB komunikáció mert nem elég pontosak az oszcillator melletti 22pF os kondik,esetleg elment a kapacitásuk mikor forrasztottam??Vagy valami hiba lenne a kapcsolásban?
1. Nem tudom, hogy milyen USB csatlakozót használsz, de ha olyat, amilyen nekem is van, akkor összekeverted a lábakat! Voltmérővel leellenőrizted a +5V meglétét?
2. A VUSB lábra 470 nF-t tennék. 3. A program tud róla, hogy nem a PICDEM FSUSB mintaáramkörben szokásos 20 MHz-es kvarcot használod? (tehát a CPUDIV osztó át van állítva a 8 MHz-es kvarchoz?)
Köszönöm a segítséget! Müködik
Sosem jöttem volna rá hogy a csatlakozót nem jól kötöttem be,mivel az irodalom ahonnan olvastam az usb-röl,hibás volt.A rajzon felcserélték az 1-es 2-es lábat.Bosszantó hogy egy gyönyörü vezérlésekkel foglalkozó könyvben ilyen hibát ejtenek
Pc Interfejsi-Szerb nyelvü,Szabadkai vagyok.
Lehet, hogy csak fordítva értelmezted(tükörkép).
Üdv! Nem tudom, hogy ki hogyan oldotta meg a CDC kommunikációt, de engem nagyon zavart az állapotgépes metodika ránkerőltetése (ha többsoros szöveget akarok kiíratni, akkor nem lehet megállni és várakozni, ha USBUSARTIsTxTrfReady() értéke 'false').
Most az USB Device - CDC Basic Demó-ból kiindulva csináltam egy tesztprogramot, s abban a putc(), puts(), getc() mintájára csináltam olyan blokkoló típusú fv-et, amelyek várakozáskor kezelik a CDC tamagocsit, így a főprogramban nem kell a blokkolás miatt görcsölni.
Az outString mellékesen az LF-et CR/LF-re egészíti (ha esetleg nem kell, akkor ez kihagyható) A ProcessIO() nálam most csak a bufferek közötti adatmozgatást és a CDC státuszgépet hivogatja:
Ha jól értettem, akkor ez felel meg az AN956 alkalmazási mintapéldában emlegetett "Alternative Global Buffer Method"-nak, amelyet ott sajnálatos módon nem részleteztek. Bővebben: Link (PDF) U.i.: Az USBDeviceTasks() interrupton fut...
Nem,mert akkor nem csak 2 lenne felcserélve...
Sziasztok. Kíváncsiságból megépítettem ezt a USB Data acquisition with PIC18F4550. A felélesztésében kérném a segítségeteket. Hogyan kezdjek hozzá?
Idézet: „Hogyan kezdjek hozzá?” Mi a konkrét probléma? Gondolom, le kell fordítani és be kell égetni a firmware-t (lásd FW mappa). Azután első csatlakoztatáskor össze kell ismertetni a Windows-sal (erre szolgál a projekthez mellékelt .inf állomány). Csatlakozol egy PC-s programmal (Hyperterminal, vagy putty.exe), s kipróbálod a parancsokat. Ha minden úgy működik, ahogy leírták, akkor lehet cifrább kezelőprogramot készíteni (erre szolgál a delphi mintaprogram, de egyszerű dolgokat a Liberty Basic-kel is össze lehet ütni).
Tehát beégetem a fw-t és utána csatlakozom. Az inf állományt be kell raknom valahova vagy csak hivatkoznom kell rá?
Majd amikor a Windows drivert keres, akkor kell odavezetni (Have disk opció, vagy ilyesmi)
Átállítottam az MPLabot C18-ra. Megnyitottam a projekteket. egyiket sem tudom lefordítani. Át kell még valamit állítani?
|
Bejelentkezés
Hirdetés |