Fórum témák
» Több friss téma |
Szia!
Valóban nem ott van a hiba. Állítsd be az MpLab szimulátorát nyomkövetőnek, tegyél töréspontot az IDO rutinra. Nézd meg hogyan számol a DECFSZ 1, 1 utasítás. A beállított bank a bank2, az 0x01 cím az INDF1 címe. Ez a regiszter az indirekt címzéshez való... Tilos az ilyen forma használata: DECFSZ 1, 1 A következő programrésztettel foglalj egy változót az IDO rutinhoz:
Az ido rutint írt át:
Szia!
IDOHurok nem végtelen ciklus így?
Nem tudom Hp41C így se úgyse működik lehet hogy ebből marad az eletrótanár
Sajnos az IDOHurok - a nagy sietségben - egy utasítással feljebb került, mint szerettem volna:
Szia!
Beállítottad, amit írtam??? Nálam már vezérli a PORTB bitjeit... A hozzászólás módosítva: Márc 29, 2013
Villogni nem villog de kisebb feszt mérek rajta ugy hogy az villogásnak tekintem én be írtam de nem volt jó de így már működik köszi.
Szia!
Villog, csak túl gyorsan. Ha jól számoltam körülbelül 15Hz-el. Ha lassabb villogást szeretnél még egy változóval megnövelheted az IDO: szubrutinbam töltött időt.
A sebbeség mindegy van hozzá számoló progim de átirtam úgy hogy villogjon csak a kezdő löket nem volt meg.
Sziasztok!
Elkészítettem eléggé nagy vonalakban a napokban tárgyalt shift regiszteres kapcsolás rajzát. Ha jól értelmeztem a leírásaitokat, akkor valami hasonlónak kell lennie a ténylegesnek is: az izzók TPIC-jeit az adatvonalon sorosan kötöttem, a többi vezérlő a buszra csatlakozik. Az N-ik TPIC SER-OUT kimenetét visszavezetem a PIC-be, hogy ellenőrizhessem a bitsorozatot. Ha rendben, akkor az RCK-t engedélyezem. Ugye ezzel a megoldással ha egy izzót is változtatni akarok, az összes vezérlőbitjét kiküldöm. A nyomógombokhoz külön buszvezetéket és órát használok. Itt az óra folyamatosan fut. Ha lenyomok egy gombot, akkor azt a PIC-be érkező bitsorozatban látni fogom. A pergésmentesítést a PIC-ben intézném. Meghagytam PIC-ben a 4550-est, mert a későbbiekben még a zavaráramkörök zümmerjeit és egyéb egységeket közvetlenül a PIC-ből vezérelnék, ezért nem árt a több láb. A PIC kapcsolása még nem végleges persze, mert bootloader-ben szeretném használni majd. (A rajzban az izzók helyett led-ek vannak, de ugye a valóságban 24V-os izzók lesznek) A hozzászólás módosítva: Márc 29, 2013
Szia!
Idézet: „Az N-ik TPIC SER-OUT kimenetét visszavezetem a PIC-be, hogy ellenőrizhessem a bitsorozatot.” Ha az aktuálisat kilépteted, az előző adatot lépteti be a kontrollerbe... A gombokhoz felhúzó ellenállást kell tenni esetleg ellenálláslétrát lehet felhasználni. Tegyél minden IC -hez 100nF tápszűrő kerámia kondenzátort, a pichez mindkét oldalra. Idézet: „Ha az aktuálisat kilépteted, az előző adatot lépteti be a kontrollerbe...” Igazad van. Akkor hogy tudnám ezt leellenőrizni? vagy egyáltalán van értelme visszavezetnem? A nyomógombokat akkor rárakom egy 10k-s ellenálláshálóra.
Hali valaki tudna ehhez egy kapcsolási rajzot adni a kijelző része érdekelne találtam itthon egy ilyen picket és érdekelne elég csak kapcsolási rajz nyákot meg csinálom én
Bővebben: Link
A PIC-be égetendő szoftver is rendelkezésre áll?
Hali!
Valaki tud valami jó leírást, vagy el tudja mondani mi is pontosan a c18 fordítónál az LKR file? USB bootloadert használok, és szeretnék megszakítást használni, nemtudom, hogy kell-e a linkerscriptben módosítani valamit. Meg jó lenne amúgy is, ha pontosan tudnám mire jó az. Idézet: Kétszer kergeted körbe az adatokat... „Akkor hogy tudnám ezt leellenőrizni?” Idézet: Elmondja a linkernek, hogy milyen .lib óllományokban keresse a hivatkozott könyvtári függvényeket. Elmondja azt is, hogy hol és milyen memória szegmensek állnak rendelkezésre. USB bootloaderhez (pl. HID bootloader) a gyári mintapéldákban található linker állományt kell használni. Ezen kívül a Reset és interrupt vektorokat is át kell helyezni a gyári mintaalkalmazásokban látható módon.„mi is pontosan a c18 fordítónál az LKR file?” A gyári mintapéldák a microchip.com/MAL címről letölthető Microchip Applications Library csomagban találhatók.
Ha jol lattam, azert valasztottad a 4550-est, mert a kommunikacio USB-s lesz.
Akkor viszont ne hasznald el ezeket a portokat! (D-/D+)
Nos a bootloaderben van egy ilyen rész:
Akkor a saját programomba ezt kell beletegyem? ( Csak High interruptom van)
A saját programodban a 0x1000 címre el kell helyezni egy RESET vektort is, különben nem tud elindulni a programod!
A hozzászólás módosítva: Márc 30, 2013
Ez benne van, csak a megszakítás nem megy. A microchip CDC firmware-t próbálom átírni! De akkor elvileg jó, amit írtam?
Pic programozó 1993-ból. A kezelő szoftvert még keresem hozzá.
A hozzászólás módosítva: Márc 30, 2013
Idézet: Indulj ki a gyári demóból, és egy lépésben csak keveset változtass rajta! „A microchip CDC firmware-t próbálom átírni!”
Működik a CDC, AD értékét beolvasom, ledet kapcsolgatok, PWM-et szabályozok stb. Csak I2C-vel szeretnék kiolvasni egy DS1627-es hőmérőt, és a mért értéket PC-re továbbítani. Mivel a CDC nem megszakítással van írva, ezért az I2C-t arra írtam, hogy ne haljon le az USB, ha gáz van az I2C-vel. Az I2C egyébként működik bootloader nélkül, meg CDC nélkül, csak a 3-at együtt nem sikerül összehozni!
Idézet: Miből jutottál erre a helytelen következtetésre? A Microchip demóinál már elég régóta alapértelmezett a megszakítás. „Mivel a CDC nem megszakítással van írva” (#define USB_INTERRUPT definíció az usb_config.h)
Mi az az elég rég? Nincs is usb_config.h-m, hanem usbcfg.h van. Abban viszont nincs ilyen sor. Egyébként onnan, hogy mikor nem megszakítással írtam bele I2C-t, akkor mikor végtelen ciklusba került a program, megszakadt az USB kapcsolat. Egyébként a cikkek között található PIC USB CDC firmware-t használom.
A hozzászólás módosítva: Márc 30, 2013
Sziasztok!
Köszönöm a javításokat, azok alapján módosítottam a rajzot, remélhetőleg így már jó lesz. A PIC-hez már a bootloader kapcsolást csináltam. Az IC-k és az USB is csillagföldelésen van. Egyelőre a TPIC-eket külön csillagoztam, mert lehet külön-külön lesz táp az 5 és 24V-ra, még nem tudom. Az egyéb földeléseket meg a szokásos módon kötném. Beraktam a tápszűrőket (PIC-nél akk mindkét oldalon lesz) és a nyomógombok felhúzó ellenállásait.
Szia!
Így a szerencsétlen USB kapcsolat is ellátja árammal az egész áramkört. Jobb lenne az USB +5V -ját csak a kapcsolat detektálására használni. Az USB +5V és a föld közé 2k7, az USB +5V -ot egy PIC bemenetre kötni 100k ellenállással. Idézet: Kb. 4 éve.„Mi az az elég rég?” Idézet: Én a Microchip honlapjáról letölthető mintapéldákat ajánlom. Például az USB Device - CDC Basic Demo Firmware mappájában találhatót.„a cikkek között található PIC USB CDC firmware-t használom.” Én is ebből a mintapéldából indultam ki (igaz, a kb. 3 évvel ezelőtti kiadásából), s ezt használom a PICCOLO projekt című PIC18F14K50 és PIC18F4550 tananyagomban. Az I2C fejezetben találsz olyan mintapéldát, amelyikben az I2C, az USB és a HID bootloader egyaránt használatban van. A hozzászólás módosítva: Márc 30, 2013
Nézegettem már az oldalad! Fogom is még!
Viszont megtaláltam a hibát! Nem másoltam át rendesen az interrupt inicializáló részt basszus a működő projektemből a CDC projektben, a PIE regiszter beállítás kimaradt, nem tudom hogy hagytam ki De mostmár működik! Nem jól kerestem a hibát, de hála a debugernek rájöttem Majd szeretnék egy saját HID eszközt is, ha egyszer eljutok olyan tudásig. Lasershow-hoz szeretnék egy saját DAC-ot építeni, USB-set, nem lesz egyszerű asszem, biztos kell majd segítséget kérnem! Kösszi a segítséget! |
Bejelentkezés
Hirdetés |