- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Idézet: „...ha a regiszter tartalma csupa 0, akkor a gomb biztosan le van nyomva.”
Érdemes egy lépéssel hamarabb meghozni a döntést akkor amikor még 0x80 van a regiszterben. Ugyanis, ha a gomb huzamosan le van nyomva, az ismételt shiftelések ugyanúgy csupa 0 értéket eredményeznek a regiszterben, mint először és a lenyomás detektálás ismételten és sűrűn bekövetkezik.
Idézet: „Ha a regiszter értéke csupa 1, akkor biztosan fel van engedve..”
Hasonlóan itt is akkor érdemes elvégezni, ha az érték 0x7F.
Igen így sem rossz megoldás. Én már korábban leírtam a saját verziómat (Itt), csak mivel érthetetlennek bizonyult a kérdező számára, emiatt megpróbáltam jobban kifejteni.
Sziasztok!
PIC 16F627A programozásakor a Fuse bitek írásánál egy hibaüzenet jelenik meg "Error programming Fuses". Ez kontroller hibára, vagy programozó hibára utal? Miként lehet orvosolni a problémát? Köszi!
Sziasztok!
PIC18f14K50 re fejlesztgetek, és baromi idegesítő, hogy állandóan le kell húzni az USB csatit, amitől a tápot kapja amúgy, mert a PK2 mindenáron max 3.6V ot akar rákapcsolni programozásnál.
Nem lehet valahogy megértetni vele, hogy ez a rohadt PIC 5V ról is megy?
Nem véletlenül! Az USB periféria miatt a programozó bemenetek nem viselik el az 5V feszültséget, így alapesetben 3,3V-os jelek segítségével megy a programozás. Ha nem akarod állandóan lehúzgálni, akkor használj USB HID bootloadert!
Az USB-ről amúgy is le kell húzni, mert a programozás pont az USB adatvonalakra csatlakozó lábakon történik.
Használhatsz HID bootloadert (a PICCOLO projekt szoftver segédletében található PICCOLO-HID-Bootloader-PIC18F14K50.hex állományt javaslom, mert a gyári demóban nem jók a konfigurációs bit beállítások, a BOR nincs bekapcsolva). Sajnos, ez meg megeszi a flash memória egy jelentős részét, tehát lehet, hogy még mindig jobb a lehúzgálás.
PICKit2, de kell bele egy felprogramozott 18F2550. Tekintettel arra, hogy egyre több az olcsó, de nem 5V -os kontroller, olyat építs, ami állítja a Vdd -t.
Van két változó A és B, az A-nak a felső négy bitje kell a B-nek az alsó négy. Hogyan tudom azt összehozni, hogy a szükséges bitek egy változóban kerüljenek?
ASM-ben.
Hali!
Következő problémám adódott a Piccolo project használata során: (PIC18F4550, alap a mérés adatgyűjtő, kiegészítve a I2C méréssel 4 szenzorral, be/kimenetek figyelése, CDC kommunikáció a PC-vel VB6 ban írt programmal)
Működik a program oda-vissza kommunikáció, viszont USB kapcsolat megszünésekor, a D0 porton vezérelt "mLED_1_Toggle(); //jelezzük hogy fut a program" működése bizonyos idő után megszünik.
A delay csökkentése az interrupt kiszolgálásában történik, mint hogy az USBDeviceTasks() hívása is.
Üdv.
Valaki tudna nekem egy olyan nyák rajzot adni, amin SMD PIC-ek padjei vannak ICSP-re kötve, hogy ha a PIC-et a megfelelő padra rakom, akkor SMD PIC-et is tudok égetni?!
Hali!
Igen erre nem gondoltam, nics megszakítás USB kapcsolat nélkül. Viszont a PIC program működése is leáll. Nekem olyan programra van szükségem ahol USB kapcsolat nélkül is működik a PIC program, USB kapcsolat esetén pedig legyen kommunikáció. (alaphelyzet nyilván az hogy van USB kapcsolat, de ha leáll a PC akkor a PIC progi működjön tovább)
USB HID kapcsolattal sikerült megoldanom, viszont az átvitel tekintetében lassú
Üdv.
Fordítva gondolkodj. Ha SMD tokos kontrollert használsz, akkor a felprogramozás előtt fel kell forrasztanod a készülék paneljára. A soklábú jószágok minden lényeges bekötését biztosítani a programozás alatt máskép nem is lehetne - ill. túl sok összeköttetést kellene megvalósítani. Már a készülék kacsolását, paneljét úgy kell tervezni, hogy az ICSP -vel működjön. A beültetés után felprogramozod az ICSP csatlakozón keresztül...
Nagyon kis lábszámnál és bizonyos konfigurációknál (belső oszcilátor, letiltott MCLR, PGC és/vagy PGD vonal kimenet, T1 oszcilátor, stb.) problémák léphetnek fel.
De...
Az SMD tokok kivezetése kicsit eltartja a tokot a paneltől, ha sikerül jó minőségű felületet elérni a panelen, a tokot rászorítva elég jó kontaktus érhető el. A pontos illeszkedéshez az is kellene, hogy a fémezés ne legyen jelentősen magasabb, mint a panel - elcsúszhat a kontroller. A leszorítás az elmozdulás ellen is véd.
Szia !
Köszi a leírást ! Épp a tőle vásárolt óra-panelbe kéne a PIC-et felprogramoznom, de ő nem rakott bele ICSP aljzatot. Múltkor pl. a PK2 demoboardjára ragasztottam a picet, és hozzáónoztam a megfelelő vezetékeket. Azért nem akarom mindig ezt tenni, mert macerás, nehéz, és a PIC is kinyiffanhat.
Az USB-CDC - legalábbis a régebbi programokkal - nem alkalmas erre a "hun bedugjuk, hun kihúzzuk" üzemmódra. Erre a HID való. A legtöbb PC-s alkalmazás még arra is háklis, hogy előbb kell csatlakoztatni a PIC áramkört, és csak utána szabad indítani a PC alkalmazást, különben nem találja meg a virtuális soros portot. Az is fontos, hogy a PC alkalmazás szakítsa meg a kapcsolatot és nem fordítva, különben képtelen újra csatlakozni.
Egyetlen üdítő kivételt ismerek: a Microchip újabb USB mintapéldái között van egy Dynamic CDC Demo program, az képes tisztességesen és automatikusan kapcsolódni. Ha ezt a megközelítést le tudja utánozni a Visual Basic programod, akkor van értelme a CDC erőltetésének.
Ami a PIC elakadást illeti: úgy kellene megírnod az alkalmazást, hogy rendszeresen figyelje az USB kapcsolat státusát, s véletlenül se fusson rá olyan blokkoló várakozásra, ahol karaktert akar küldeni vagy fogadni a már nem létező USB kapcsolaton keresztül.
Sziasztok!
Tudna nekem valaki 18F4550 hez usb bootloader firmware-t ajánlani? Letöltöttem egy kettőt, de valamiért, nem bízom bennük, túl nagyok stb...Ha valaki tudna linkelni egy oldalt ahonnan le lehet szedni annak megköszönném... Üdv!
Idézet: „Tudna nekem valaki 18F4550 hez usb bootloader firmware-t ajánlani? ”
Hogyne , többet is. Én a HID bootloadert használom aPICCOLO projektben. Ez kétszer akkora, mint a Microchip másik bootloadere (MCHPFSUSB), de a HID bootloadernek szimpatikusabb a letöltőprogramja.
Egyébként mindkét bootlader benne szokott lenni a Microchip USB stack mintapéldái között, de az általam módosított konfigurációs bit beállítással stabilabb.
JAL nyelven is írtak már PIC18F4550 bootloadert, ez végeredményben az MCHPFSUSB-vel kompatibilis (ugyanúgy a Microchip PDFSUSB.EXE demóprogram a letöltője).
Hali!
Köszi a választ. Az USB CDC nyűgjeit már megértetted velem, azért próbálkoztam a HID kapcsolattal. A lassúsága miatt (sok információt akarok küldözgetni 'vica-verza') visszatértem a CDC módhoz.
A kapcsolat újra felvétellel nincs gond, ha véletlenül le áll a PC, vagy a progija.
Gond az hogy nem figyeltetem (jelenleg nem is tudom hogy kell, majd utána nézek) az USB kapcsolat meglétét és adat küldés vagy vétel blokkoló várakozása miatt áll le a PIC program, mint ahogy írtad.
Üdv.
A piccolo_usb.c-ben kellene valamit csinálni a ProcessIO() függvényben. Most, ha nincs USB kapcsolat, nem csinál semmit (return-nel kilép). A bolokkoló várakozásokat tartalmazó I/O függvények (_user_putc, usb_cdc_getc) viszont a ProcessIO-t hívogatják, hogy csináljon valamit a betelt vagy üres bufferekkel.
Az az alkalmazástól függ, hogy mi ennek a patthelyzetnek az értelmes feloldása.
Üdv! Kipróbáltam 2 bootloader firmwaret 18F4550 en, de a PC nem akaja felismerni Ennek ellenére, próbáltam több PC oldali bootloader kezelő progival, de azok sem látják... Esetleg kell a PC re plusz drivert tenni? vagy mi lehet a gond?
Idézet: „Amúgy a Piccolo projektben lévő linkek nálam nem mutattak semmi jóra..”
A code_axemples.zip-ben minden megtalálható volt. A kibontott fájlokat időközben valóban letöröltem, s külön-külön nem voltak elérhetők, de most pótoltam (bár helyhiánnyal küzdök a szerveren).