Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- 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.
Lapozás: OK   466 / 1211
(#) vicsys válasza lajos1969 hozzászólására (») Dec 1, 2013 /
 
Mondom! Kösd testre a C1 felőli oldalát!
(#) Hp41C válasza Hp41C hozzászólására (») Dec 1, 2013 /
 
... a föld felé.
(#) lajos1969 válasza vicsys hozzászólására (») Dec 1, 2013 /
 
Megtörtént a pic meghalt.
(#) vicsys válasza lajos1969 hozzászólására (») Dec 1, 2013 /
 
Meghalt? Mi az, hogy meghalt?
Szerk:
Tekintettel arra, hogy a GP3 csak bemenet, biztos vagyok benne, hogy ezzel (aktív L), nem tetted tönkre. Ha tönkrement a PIC, az valami mástól történt.
A hozzászólás módosítva: Dec 1, 2013
(#) lajos1969 válasza vicsys hozzászólására (») Dec 1, 2013 /
 
Nem működik , programozni lehet,de bandgap 0000, meg az oscall is invalid lett a picben. Ennyi !
(#) vicsys válasza lajos1969 hozzászólására (») Dec 1, 2013 /
 
Próbáld ki, hogy manuálisan beállítod a 0x3FF címtől a 0x3420 értékeket.
(#) lajos1969 válasza vicsys hozzászólására (») Dec 1, 2013 /
 
Ez már így nekem magas, ennyire nem vagyok belemélyedve a picekebe. A bandgap érték 0000 ez gondolom a gond, ha ettől érthetőbben is "a számomra legalább" meg tudod írni akkor esetleg.
(#) Hp41C válasza lajos1969 hozzászólására (») Dec 1, 2013 /
 
Szia!
A program használja azt az OSCAL értéket, amit a 0x3FF című program memória rekeszben kellene tárolni. Ide egy retlw OSCALérték alakú utasítás kell. Amennyiken ez az utasítás nincs meg (nem retlw vagy return utasítás), az ide történő szubrutin hívás (call 0x3FF) nem tér vissza, hanem a kontroller újra a 0 címre fut rá.
- Állítsd vissza az OSCAL értéket a PICKit2 Regenerate Osccal menüpontjával. Tools / OSCCAL / Auto Regenerate. Figyelem, ez a művelet törli az egész memóriát.
avagy
- Ismertesd fel a kontrollert a PICKit2 programjával. Állítsd be kézzel a 0x3480 -at OSCCAL értéknek. Tools / OSCCAL / Set Manually. Figyelem, ez a művelet törli az egész memóriát.
- Hagyd csaltakoztatva a kontrollert,
- Töltsd be a hex -et és programozd be.

Jótanács:
Olyan kontrollerek programozásakor, melyekben az OSCCAL a felhasználói memória területen van, tartsuk be az alábbi szabályokat:
- Törlés előtt olvassuk ki az OSCCAL értékét. Egy alkoholos filctollal jelőljük meg a kontroller lábait (1..8) sorrendben a kiolvasott értéknek megfelelően: Ha az érték 0. bitje 1, akkor jelöljük meg az 1. lábat, ha az érték 1. bitje 1, akkor jelöljük meg a 2. lábat stb. Ahol az érték 0, ott nem jelöljük meg a lábat. Ha véletlenül úgy sikerülne törölni a kontrollert, hogy elvész az OSCCAL, a lábakról könnyen vissza tudjuk írni.

Esetleg használd ezt a hex -et. Nem hívja a 0x3FF -et, hanem 0x80 -at tölt az OSCCAL -be.
A hozzászólás módosítva: Dec 1, 2013
(#) lajos1969 válasza Hp41C hozzászólására (») Dec 2, 2013 /
 
Köszi maid megpróbálom!
Az egyik 12F629 -el most működik persze csak egy effekt.
A TPIC6C595-öt vágta gallyra.
(#) vicsys válasza lajos1969 hozzászólására (») Dec 2, 2013 /
 
Nem akarlak bántani, de sem a PIC-ed nem tudod tönkretenni, sem a PIC nem tudja a TPIC-t tönkretenni. Szerintem egy statikus töltés volt a bűnös, vagy valami elkötés/zárlat van.
A kapcsoló bekötésére, pedig továbbra is fenntartom a véleményemet.
(#) frekivalto hozzászólása Dec 4, 2013 /
 
Sziasztok.

Segítséget kérnék, mert elakadtam. Számomra nem egyértelmű, hogy a PICKIT3 programozó használata esetén,, azt összedugva egy PIC-cel (12F1822) kell-e tápfeszültséget adni a PIC-re külön? Egyenlőre csak összedugtam a PK3-al, és ezt a hibaüzenetet kaptam az MPLAB-ban:
"PICkit 3 detected
Connecting to PICkit 3...
Firmware Suite Version...... 01.28.90
Firmware type......................Enhanced Midrange
PICkit 3 Connected.
PK3Err0045: You must connect to a target device to use PICkit 3."

A PICKIT3 settings-ben a status-nál a feszültség 0V.
A hozzászólás módosítva: Dec 4, 2013
(#) Buvarruha válasza frekivalto hozzászólására (») Dec 4, 2013 /
 
Elvileg sima programozáshoz nem kell külső táp, debugoláshoz, viszont kell.
(#) frekivalto válasza Buvarruha hozzászólására (») Dec 4, 2013 /
 
Köszönöm, valahogy így sejtettem.
Viszont akkor elakadtam, kérném továbbra is a segítségeteket. A PK3-on világít power, active, és status LED, ez utobbi zöld színnel. PIC benne van átnéztem jól van összekötve. A PIC-nél van 10K az MCLR lábhoz a tápra. Ennyi. MPLAB feltelepítve, configban a select device-ban pic kiválasztva.
Programozó kiválasztva, majd az elöbb amit feltettem, az jön elő. Kell-e esetleg még valamit beállítani HEX fájl beprogramozásához?

Első programozásom lenne...

Szerkesztve:
Megvan a megoldás. Programozó beállításánál, a power-t úgy kellett beállítnai, hogy a PK3-ból kapja a tápfeszültséget. (ki kell pipálni a kis négyzetet.)
A hozzászólás módosítva: Dec 4, 2013
(#) csapeter válasza frekivalto hozzászólására (») Dec 4, 2013 /
 
Üdv.
A PICkit 3 Settings-ben a Power lapon állítsd be a "Power target circuit from PICkit 3"-at.
Akkor fog feszt. adni a PIC-nek.

Látom megtaláltad. OK.
A hozzászólás módosítva: Dec 4, 2013
(#) Dempsey válasza Buvarruha hozzászólására (») Dec 4, 2013 /
 
Ha nem adsz neki tápot honnan fogja felismerni a target eszközt ?
(#) Buvarruha válasza Dempsey hozzászólására (») Dec 4, 2013 /
 
Úgy, hogy olyankor saját maga ad neki tápot.
(#) vicsys válasza Dempsey hozzászólására (») Dec 4, 2013 /
 
Bár a PK3-at nem ismerem, de PK2-nél nem kell vacakolni és ki/be kapcsolgatni, anélkül is felismeri.
(#) Dempsey válasza Buvarruha hozzászólására (») Dec 4, 2013 /
 
Ha bekapcsolod hogy adjon magától nem adja ki azért irja hogy csatlakoztatni kell a targetet.
(#) silent15 hozzászólása Dec 5, 2013 /
 
Sziasztok, van egy PIC32MX440F128H kontrollerem, és ezzel szeretnék egy 16 bites kijelzőt vezérelni. Az jó ha hardweresen rákötöm a kontroller teljes B portját, az adatlap szerint az egy bidirekcionális IO port. Csak azért kérdezem, mert jártam már úgy, hogy a kijelző-t rossz IO lábra kötöttem (ami csak az egyik irányba megy) és kerestem egy darabig mi a hiba.
(#) Zsora hozzászólása Dec 5, 2013 /
 
Üdv!
Találtam némi ellentmondást a PIC24FJ64GB004 doksijában. (DS39940D)
Az adatlap 114. oldalán a 8-3 táblázat szerint ECPLL módban 4...48MHz bemenő órajelet használhatunk, mivel a 96MHz-es PLL-nek stabil 4MHz kell, és ehhez van egy 1...12-es előosztója.
Ezzelszemben a 320. oldalon a 29-16 táblázat OS10 sorában ECPLL módhoz 4...8MHz-et ír. (A többi PLL mód is max. 8MHz.) Gyanítom hogy ez az egész OS10 sor csúnyán el van írva.
Vélemény?
(#) icserny válasza Zsora hozzászólására (») Dec 6, 2013 /
 
Idézet:
„... a 29-16 táblázat OS10 sorában ECPLL módhoz 4...8MHz-et ír.”
Kifelejtettek egy 4-est (nyilván 4...48MHz, ha van akár 12-es előosztó).
Idézet:
„A többi PLL mód is max. 8MHz.”
Alighanem copy-paste effektus valamilyen korábbi, előosztó nélküli PIC24F adatlapjából.

Nálam a pálmát az vitte el, amikor olyan perifériát ismertettek valamelyik adatlapban, ami az adott típusban nincs is megvalósítva.
(#) cross51 hozzászólása Dec 6, 2013 /
 
Sziasztok!
Az problémát jelent, ha én a programban átírom a verem tár adatát, hogy ne csorduljon túl ?
Köszönöm!
(#) foxi63 válasza cross51 hozzászólására (») Dec 6, 2013 /
 
A veremtárnak nem szabad túlcsordulnia!
Valami hiba van a programodban szerintem.
(#) cross51 válasza foxi63 hozzászólására (») Dec 6, 2013 /
 
Tudom, hogy nem szabad túlcsordulnia, de ez egy ledes futófénynél történik és a delayben(amit ugye call-al hívok) ellenőrzöm az üzemmódok bitjeit, ha a megszakításban az INT(általam definiált változó) 0. bitje egy és a call-ból gotoval ugrok tovább a másik villogásmódra. Tudom nem így kéne, de jelenleg nem jut eszembe más módszer, hogy ne keljen sokszor leírni a BTFSC INT, 0 BRA MODSWITCH(itt ellenőrzöm a módokat és, hogy melyikre kell ugorjon). Gondoltam, hogy ez nem megfelelő megoldás, foxi esetleg egy ötlet, hogy hogyan lehetne megoldani?
(#) foxi63 válasza cross51 hozzászólására (») Dec 7, 2013 /
 
Szia!
Hát nem világos számomra, hogy mit is akarsz, de ha jól értelmezem, programból fut egy késleltető rutin, Delay és e közben a megszakításban máshova ugrik a programod.
Valószínűleg sosem ér el a retfie utasításhoz, és közben új megszakítás jön.

A programot úgy kéne megszervezni, hogy a Timer2-vel készítesz egy általad meghatározott időzítőt, legyen 1msec idő . Amikor lejár ez az idő, akkor megszakítást okoz, de nem csinál érdemben semmit, csak egy jelzőbitet állít 1-re.

Na most a főprogram:
Rátekintünk erre a bitre, ha nem 1 akkor teszi a főprogram a megszokott dolgait, vagy ha nincs ,végtelen ciklusban "forog önmagában"
Ha a bit 1 akkor eltelt 1 msec, a jelzőt nullára állítod és mehet a programelágazás gombfigyelés, meg minden. Tehát úgy van egy pontos időzítésed, hogy érdemben nem kell semmit csinálni. Lehet még többféle időértékeket is csinálni, pl 50msec ami figyeli a gombok állapotát .Tehát másodpercenként 20x lekérdezi...
Ha valami blokksémát feltennél, vagy körvonalaznád, hogy mit is akarsz, több segítséget lehetne nyújtani!
üdv: Foxi
A hozzászólás módosítva: Dec 7, 2013
(#) Szpisti hozzászólása Dec 8, 2013 /
 
Tiszteletem Uraim!
Keresek *

Többek közt, erre való a hirdetésünk keres rovata!
A hozzászólás módosítva: Dec 8, 2013
(#) szolen hozzászólása Dec 9, 2013 /
 
Sziasztok!
Feltelepítettem a legújabb mplab x-et debianra. Felraktam a hitech picc-ket hozzá.
Betöltöm a korábbi projektmet, de sajnos a build-re semmit sem reagál.
Konkrétan sehova nem ír ki semmit. Ezt a projektet korábban windows alatt le tudtam hiba nélkül fordítani. Utána próbálkoztam még egy assemblyt, de azt sem hajlandó lefordítani. Fórumokat olvasgattam, de semmire sem jutottam. Nagyon örülnék ha tudnátok segíteni megtalálni a problémát. Előre is köszönöm!
(#) univerzum hozzászólása Dec 9, 2013 /
 
"Készítsen összeadót vagy kivonót, amely csak a 1, 4, 7 és a 3, 6, 9 számjegyekből álló 3 jegyű számmal végez összeadást. Az operandusok bevitelére használja a mátrix billentyűzetet. Az első operandus, a második operandus és az eredmény jelenjen meg a hétszegmenses kijelzőn: G0: Első 3 jegyű operandus bevitele (bevitelre csak 3, 6, 9, 1, 4, 7 billentyűk használható). G1: Műveleti jel bevitele (bevitelre csak a *, # billentyűk használhatók). ... G2: Második 3 jegyű operandus bevitele (bevitelre csak 3, 6, 9, 1, 4, 7 billentyűk használható). G3: Eredmény megjelenítése vezető nulla kikapcsolásával. G4: A gomb lenyomásának idejére villogjon 1 másodperces ütemben a 3 színű LED-en a piros szín!"
Valaki tudna-e segíteni megoldani a feladatot?
(#) usane válasza vicsys hozzászólására (») Dec 9, 2013 /
 
A pk3-nál kell. Erről volt is egy EEVBLOG vs microchip összecsapás, hogy mi lett roszabb a PK2-höz képest. Magát a tápfesz nagyságát felismeri elvileg, mert a csúszka odaáll ami jó a PIC-nek, de bekapcsolni manuálisan kell, és még figyelmeztet is vagy 1000x, hogy biztos, hogy a megfelelő PIC van-e csatlakoztatva, mert a rossz tápfesz tönkre teheti.
(#) usane válasza univerzum hozzászólására (») Dec 9, 2013 /
 
Hello!

Kicsit pontosítani kéne.
1. Mire, és milyen programnyelven kell megírni?
2. Melyik részben kell a segítség, hol akadtál el?
A hozzászólás módosítva: Dec 9, 2013
Következő: »»   466 / 1211
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