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   1102 / 1210
(#) kissi válasza b10up hozzászólására (») Nov 17, 2019 /
 
Félreértettelek, azt hittem a bemeneti lábakra is raktál LED-eket !

Nem ismerem az adott PIC-et, de ez akár RMW ( Read-Modify -Write ) probléma is lehet ! A LED-ek állapotát egy shadow regiszterben szerkeszd és a lekérdezések után írd ki a shadow tartalmát a PORTA-ra EGYBEN !
(#) pipi válasza b10up hozzászólására (») Nov 17, 2019 /
 
Furi egy fordítód van, ha így eszi meg... én azért ellenőrizném mire fordul le.
Nálam 16f18876 XC8 fordítóban így van a programomban a definició:

#define FOTO_BELSO RC5 //Fot2 (foto belső) (+5V) //FOTOCELLA BEMENET,

#define TESTLAB2 LATD4
(#) Hp41C válasza pipi hozzászólására (») Nov 17, 2019 /
 
Nem Microchip fordítót használ hanem Mikroelektronika MikroC PRO for PIC -et.
A hozzászólás módosítva: Nov 17, 2019
(#) Elektro.on válasza b10up hozzászólására (») Nov 18, 2019 /
 
Miért van engedélyezve a Clock out enabled ?

Az tolja ki az órajelet ... tiltsd le.
(#) b10up válasza Elektro.on hozzászólására (») Nov 18, 2019 /
 
Letiltottam, viszont az RA4-en továbbra is látok órajelszerűséget, RA5-ön semmit, annak ellenére, hogy bemenetnek lett átkapcsolva. Nem értem én ezt
(#) icserny válasza b10up hozzászólására (») Nov 18, 2019 /
 
A CONFIG1-ben a ~CLKOUTEN bitet 1-be kellene állítani.
(#) b10up válasza icserny hozzászólására (») Nov 22, 2019 /
 
Sajnos akárhogy állítok akármit, ami ezzel összefüggésben lehet, egyszerűen nem változik semmi.
RA5-ön semmi nem jön ki, RA4-en pedig mindig mérhető feszültség, akár kimenetként, akár bemenetként próbálom életre bírni mindkét lábat. Mintha fixen clkout lenne az RA4. Ez lehet a fordító hibája/kinyírt PIC?
A hozzászólás módosítva: Nov 22, 2019
(#) Hp41C válasza b10up hozzászólására (») Nov 22, 2019 /
 
PIC16F1825: Config1 = 0x21A4, Config2 = 0x1413
Ekkor kell elővenni az adatlapot, felkeresni a konfigurációs regiszterek leírását: (ld. melléklet)
CONFIG1:
bit11: CLOCKOUTEN (felülhúzott fonttal):
Ha FOSC XT, LP vagy HS - nem érdekes, egyéb módnál 0 értéke engedélyezi a CLKUOT funkciót a CLKUOT (RA4) lábon. FOSC = 4 az INTOSC oszcillátor, I/O functió a CLKIN lábon. Azaz nem XT, LP vagy HS mód.
0x21A4 = 0b 10 0001 1010 0100
Ebben az értékben a 11. bit 0, azaz a CLOCKUOT funkció engedélyezett.
A 0x29A4 pedig letiltaná.
A hozzászólás módosítva: Nov 22, 2019
(#) b10up válasza Hp41C hozzászólására (») Nov 22, 2019 /
 
Köszi
MikroC PRO for PIC 7.1.0-t használok, itt ezeket az "edit project"-en belül állítom.
Esetleg ezeket szövegesen hogyan tudom megadni? Bárhogyan próbáltam a kódba beírni, nem működik úgy, mint a többi regiszternél.
(#) Tasznka válasza b10up hozzászólására (») Nov 23, 2019 /
 
Mikroban nem lehet a configot állítani kóddal ,csak a saját kis beállítójával .
Annyit tehetsz,hogy debug mód(ha van olyan) ,és megnézni,hogy miket állított be.
(#) Bakman válasza Tasznka hozzászólására (») Nov 23, 2019 /
 
Hp41C leírta, hol hibázik a feljesztőkörnyezet.

0x21A4 helyett 0x29A4 kellene. A szöveges beállítás (Clock Out Enable) látszólag jó, de a bitet nem írja át vagy éppen fordítva működik, Enable-re kellene állítani.
(#) b10up válasza Bakman hozzászólására (») Nov 23, 2019 /
 
Köszönöm ezt a sok segítő hozzászólást!
Sajnos utánaolvastam én is, a config1 értékét nem lehet programkódban módosítani, csak az edit projecten belül. Ott a clock out enable-t próbáltam már mindkét állásban, sajnos érdemi változást nem tapasztalok.
(#) Bakman válasza b10up hozzászólására (») Nov 23, 2019 /
 
Ha a "Clock Out Enable" opciót váltogatod, változik a "Configuration Registers" ablakban lévő valamelyik hexadecimális szám?
(#) b10up válasza Bakman hozzászólására (») Nov 23, 2019 /
 
Igen.
Clock out enable engedélyezve:

  1. CONFIG1 : $8007 : 0x2184
  2. CONFIG2 : $8008 : 0x1113


letiltva:

  1. CONFIG1 : $8007 : 0x2984
  2. CONFIG2 : $8008 : 0x1113
(#) b10up válasza b10up hozzászólására (») Nov 23, 2019 /
 
Ha a power on timert letiltom még, akkor kijön config1-re a 0x29A4
(#) Bakman válasza b10up hozzászólására (») Nov 23, 2019 /
 
Mellékletben egy hex fájl, ezt töltsd fel a PIC-re, ennek mennie kell. Az általad megosztott programot (Bővebben: Link) készítettem el Flowcode-ban, egy-két módosítással. A program 100 ms-os várakozással kezdődik és a belső órajel frekvenciáját 500 kHz-en hagytam.
(#) b10up válasza Bakman hozzászólására (») Nov 23, 2019 /
 
Ugyanaz történik, annyi változással, hogy a ledek sorrendje megfordult.
(#) Bakman válasza b10up hozzászólására (») Nov 23, 2019 /
 
Akkkor már csak a HW hiba marad (PIC vagy valahol máshol), nálam működik.
(#) b10up válasza Bakman hozzászólására (») Nov 23, 2019 /
 
Waa.... találtam még egy ilyen PIC-et a fiók mélyén, azzal tökéletesen működik mindkettőnk kódja. Nem tudom, hol sérülhetett ez meg, ilyen hibával még nem találkoztam.
Mindenesetre köszönöm a sok segítséget és hibakeresést mindenkinek!
(#) whalaky hozzászólása Dec 1, 2019 /
 
Üdv mindenkinek!
Meglepő és érdekes jelenséggel küzdök már hetek óta. Az LCD kijelzőm (i2C) 3-5 perc normál műküdés után megzavarodik, és mindenféle random karaktereket írkál ki.
Sajnos nem tudom pontosabban megfogalmazni.
Először hardver hibára gyanakodtam, de a jelenség meg van proteusban is.
Segítsetek! Merre induljak el???
A fordító semmi hibát nem jelez, minden megy annak a rendje szerint, a program elindul, fut de néhány perc elteltével az LCD megzavarodik, és csak a reset segít rajta.
(#) Bakman válasza whalaky hozzászólására (») Dec 1, 2019 /
 
Ha szimulációban is látszik, akkor SW hiba. Attól mert a szintaktika jó, még lehet hiba bárhol, pl. folyamatosan növelsz egy változót, az meg túlcsordul egy idő után.
(#) benjami válasza whalaky hozzászólására (») Dec 1, 2019 /
 
Tegyél rá egy logikai analizátort. Ha azzal is látszik miket küld a kijelzőnek és mikor, akkor már csak az okát kell megfejteni.
(#) whalaky válasza Bakman hozzászólására (») Dec 1, 2019 /
 
Erre már gondoltam, de akkor viszonylag rendszeresen jelentlezne a jelenség, de abszolute random.
Én is gyanítom hogy valami sw hiba, de nem tudom szándékosan reprodukálni. Vagy történik vagy nem. Van hogy fél óráig is elmegy a szimulátor, aztán kimegyek és mire visszeérek már megint nem jó.
Melyik részeket cseréljem nle? i2c? LCD? Init?
(#) szucsistvan123 hozzászólása Dec 2, 2019 /
 
Üdv!

Frekvencia mérésre mi a leg célszerűbb/pontosabb mód egy 16 bites PIC mikroprocesszorral? (kHz nagyságrend)

Köszi!
(#) Tasznka válasza szucsistvan123 hozzászólására (») Dec 3, 2019 / 1
 
Szia!
A legegyszerűbb ,hogy beállítasz 1 timert 1,10,100ms -ra,és megszakítással számolod a bejövő frekit.Amint lejár a timer abból megvan ,hogy adott idő alatt mennyi jött be,és átszámolod. Ha nem szeretnél számolni,és nem fontos,hogy sűrűn legyen mérésed,akkor a timert belövöd 1s-re,és meg is van a freki . A pontosságot külső referencia-frekivel tudod a legpontosabbá tenni,bár itt annyira nem fontos.
(#) szucsistvan123 válasza Tasznka hozzászólására (») Dec 3, 2019 /
 
Erre gondoltam én is, csak nem voltam biztos benne hogy elég pontos lenne.

Köszönöm!
(#) pipi válasza szucsistvan123 hozzászólására (») Dec 3, 2019 / 1
 
Én valamelyik timer-re bíznám a számolást. Ha a pic tudja (kapuidő) egy másik timer kimenetét egy lábon kiadva akkor ezzel lehetne kapuzni a bejövő jelet. De lehet van belsőleg kapuzható cucc is a picben. A picet meg tcxo oszciról járatni.
(#) szucsistvan123 válasza pipi hozzászólására (») Dec 3, 2019 /
 
Köszi a választ!
(#) whalaky válasza whalaky hozzászólására (») Dec 9, 2019 /
 
Sziasztok!
Számtalan kísérlet után arra jutottam hogy a hibát az I2C okozza. Valami oknál fogva nem fér össze egy buszon az LCD és a DS1307.
Ha valaki érez magában indíttatást és kellő idővel rendelkezik hogy megfejtse a problémát szivesen elküldöm a forrást.
Én már a szemeimet kinéztem, de nem látok benne semmit, és a microchip-ről sem feltételezem hogy hibásanadták volna ki, tehát valahol az én driveremben van a hiba. Ha az RTCnincs belefordítva napokig képes hiba nélkül futni, de az RTC-t nem tűri a proteus sem. 1-2 perc és lehal, tehát valószínű program hiba, de hogy hol??? Amíg ez nem megy nem tudok tovább lépni, pedig annak terveim az AM2320-al (fejlesztés alatt, még nincs belefordítva) és a terv szerint lenne még egy eeprom is a buszon....
Az MCC által generált I2C driverre építenék, bár nekem még kissé futurisztikus pedig a már most is elavulltnak kikiáltott MSSP1 PIC10/PIC12/PIC16/PIC18 libet használnám.
(#) Hp41C válasza whalaky hozzászólására (») Dec 9, 2019 /
 
Láthatjuk a kapcsolási rajzot és a kódot?
Következő: »»   1102 / 1210
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