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   757 / 1210
(#) Prendick válasza Pali79 hozzászólására (») Márc 3, 2016 /
 
Variálnak a perifériákkal meg az árral. Mondjuk 16-os pic-ek mellé én a legritkább esetben teszek kvarcot, gondolom másnál sem jellemző, úgyhogy gyanús, hogy egyre több 16-os pic-nél kimarad a jövőben.

Viszont ha ragaszkodsz ehhez a pic-hez, használhatsz hozzá kvarcoszcillátort. Drágább mint a kvarc, cserébe többnyire pontosabb, mint az átlagos pic, átlagos kvarccal.
A hozzászólás módosítva: Márc 3, 2016
(#) icserny válasza Pali79 hozzászólására (») Márc 3, 2016 /
 
Idézet:
„Persze, viszont ha jól tudom minden RTC ic-t is óra kvarc hajt, tehát a hiba ott is jelentkezhet.”
Hiba mindenütt jelentkezik, csak a nagyságrendje nem ugyanaz. Az általam ajánlott DS3231 pl. belső, hőkompenzált oszcillátort (TXCO) tartalmaz, melynek révén
a 0°C to +40°C tartományban ±2ppm a pontosság. Nem ez a világcsúcs, a TXCO oszcillátor kategóriában biztosan találsz jobbat is.
(#) Pali79 válasza icserny hozzászólására (») Márc 3, 2016 /
 
Igazad lehet, de ebben a nyamvadt PIC-ben I2C sincs, azt is szoftveresen kellene megoldani. Jól bevittem magam az erdőbe ezzel.
(#) Hp41C válasza Pali79 hozzászólására (») Márc 3, 2016 /
 
A legegyszerűbb megoldás a PIC16F1508 / 16F1509 használata. Ezekben a T1 bemenetén van a SOSC azaz a másodlagos oszcillátor. A T1CON -ban van egy vezérlő bit: T1OSCEN
(#) zenetom válasza Pali79 hozzászólására (») Márc 3, 2016 /
 
Igen, kicsit furcsa a blokkdiagram, de a kvarc ábra valószínűleg csak jelképesen szerepel ott.
2 módot lehet választani rendszer órajelnek: a "szokásos" belső oszcit, vagy a külső órajelforrást, aminek gyakorlatilag egy négyszögnek kell lennie:
Idézet:
„The External Clock (EC) mode allows an externally
generated logic level signal to be the system clock
source. When operating in this mode, an external clock
source is connected to the OSC1 input.
OSC2/CLKOUT is available for general purpose I/O or
CLKOUT. Figure 5-2 shows the pin connections for EC
mode”

Szóval a kavics kilőve.
(#) Pali79 válasza zenetom hozzászólására (») Márc 3, 2016 /
 
Azt hiszem Hp41C-nek lesz igaza. Másik PIC-et kell beszerezni, nem drágább és legalább van benne MSSP modul is ami a későbbiekben még jól jöhet.
(#) Hp41C válasza zenetom hozzászólására (») Márc 3, 2016 /
 
Manapság rengeted a hiba a Microchip leírásaiban...
PIC16F1507 - DS40001586D page 48:
Idézet:
„For example, when switching between the internal oscillator with the PLL and the internal oscillator without the PLL, monitor the PLLR bit. When PLLR is set, the switch to 32 MHz operation is complete. Conversely, when PPLR is cleared, the switch 32 MHz operation to the ed internal clock is complete.”

Ebben a típusban nincs is PLL, a PLL csak ebben a bekezdésben fordul elő...
És ez már a D azaz a 4. kiadása az adatlapnak. Az errata -ban nincs említés a PLL -ről, pedig F kiadás.
dsPIC33EPxxGM3xx, 6xx, 7xx programozási leírás 6.6 bekezdés nem olyan módszert ír le, amit a PICkit3 használ. Ez a dokumentum még A kiadás, de már 4 éves...

Mi a véleményetek az új web lapjukról?
Engem az zavar legjobban, hogy nem működik a dokumentumok időrendbe rendezése.
A hozzászólás módosítva: Márc 3, 2016
(#) zenetom válasza Hp41C hozzászólására (») Márc 3, 2016 /
 
Én általában csak adatlapok miatt megyek fel, esetleg errata-k miatt. Mostanság kicsit haragszok rájuk, mert ők is inkább a marketing irányába mennek... Szóval csicsa minden, de a normális működésre meg nem adnak.
Amúgy a HI-TECH C-t is beolvasztották az XC-be ? Még mindig ott tartok, hogy nem tudom milyen C-t használjak. A régi MCHP fordító szerintem tök jó lett volna, ha nem vágják tönkre ezzel az "X" baromsággal, hanem bővítik, javítják tovább, normálisan.
A hozzászólás módosítva: Márc 3, 2016
(#) usane válasza Hp41C hozzászólására (») Márc 3, 2016 /
 
Köszi. Akkor ebben nincs ilyen lehetőség. (PIC24FJ128GB202)

Újabb kérdés.
Oszcillátor:
PLLDIV = 4xPLL
OSCCON = 0b0111011100000000; //FRCDIV - Fast RC with postscaler
CLKDIV = 0b0000000000100000; //PLL enabled, RCDIV = 1:1

FRC órajele elvileg 8MHz, 4x PLL-el 32MHz-en kéne mennie és mégis csak 8-on megy. Milyen beállítást hagytam ki?
(#) usane válasza zenetom hozzászólására (») Márc 3, 2016 /
 
Az egész oldal egy nagy k@k@ lett.
pl: 10 percig kerestem a PK3 standalone-t.

Amugy igen, az XC8-ban benne van a hi-tech c is. Ha visszaköveted a header-t abból is kiderül.
Abból kavartak össze valamit annak idején.
(#) Hp41C válasza usane hozzászólására (») Márc 3, 2016 /
 
A PICkit2 és a PICkit3 standalone támogatása megszünt, csak a achivumban találod meg. Teljes arccal a MpLabX IPE felé vették az irányt.
(#) usane válasza usane hozzászólására (») Márc 3, 2016 /
 
Megoldva. Configban még volt egy beállítás.
(#) usane hozzászólása Márc 3, 2016 /
 
Van az MC-nak pic24-re I2C to USB bridge szoftvere?
(#) lóri válasza zenetom hozzászólására (») Márc 3, 2016 / 2
 
"nem akarom elfogadni, hogy ma már a C az "Isten" Ha megnézed az ábc-t, akkor látnod kéne, hogy Assembly. Basic, C-nyelv. Ez a helyes sorrend.
(#) zenetom válasza lóri hozzászólására (») Márc 3, 2016 /
 
Na, ez jó volt!
(#) Hp41C válasza lóri hozzászólására (») Márc 4, 2016 /
 
És a Fortran, Java, LISP, Python még hátra van...
A hozzászólás módosítva: Márc 4, 2016
(#) usane válasza lóri hozzászólására (») Márc 4, 2016 /
 
Nem a nyelvvel van a baj, hanem a fordítóval.

Más. Csak én gondolom, hogy a PIC24 Input change notificationja nagyon béna? Beleértve a configurálási lehetőségeket és magát a dokumentációt is.
A hozzászólás módosítva: Márc 4, 2016
(#) cross51 válasza usane hozzászólására (») Márc 4, 2016 /
 
Mit értessz béna alatt? És konfiguráció alatt mit értesz, ha jól tudom van 3 regiszter (CNEN, CNPU, CNPD) engedélyezés, felhúzás, "lehúzás".
  1. void configure CN(void)
  2. {
  3. CNEN1bits.CN3IE = 1; // Enable CN3 pin for interrupt detection
  4. IEC1bits.CNIE = 1; // Enable CN interrupts
  5. IFS1bits.CNIF = 0; // Reset CN interrupt
  6. }
  7. void __attribute__ ((__interrupt__)) _CNInterrupt(void)
  8. {
  9. // Insert ISR code here
  10. IFS1bits.CNIF = 0; // Clear CN interrupt
  11. }


De egy péda (micochipes).
(#) sonajkniz hozzászólása Márc 4, 2016 /
 
Lenne egy naiv kérdésem.

C nyelvű programot csak "ctrl+c">>"ctrl+v" alkalmazásával lehet írni?
Ahány kódrészletet látni itt a fórumon, mindről lesír, hogy mintaprogramokból van összeollózva.
(#) Hp41C válasza sonajkniz hozzászólására (») Márc 4, 2016 /
 
Nem...
Ha a programtárja RAM lenne, lehetne használni a "Monte Carlo Programfejlesztési Módszert" is: Bekapcsoljuk, a véletlen mintát elkezdjük debuggolni, hátha valami kijön belőle...
(#) sonajkniz válasza Hp41C hozzászólására (») Márc 4, 2016 /
 
Olvasgatva a hozzászólásokat, az álltalad vázolt módszerrel azért sokan kisérleteznek.
Megvallom, én is kipróbáltam már, de az assembler kiröhögött. Úgy látszik, a C ebben jobban partner.
(#) icserny válasza sonajkniz hozzászólására (») Márc 5, 2016 /
 
Idézet:
„C nyelvű programot csak "ctrl+c">>"ctrl+v" alkalmazásával lehet írni?”

C nyelvű? Az igazi programozó így írja:
  1. copy con program.hex
(#) nedudgi válasza icserny hozzászólására (») Márc 5, 2016 /
 
Ez nem vicc. Anno a TPA 1001 bootloaderét kapcsolóállításokkal kellett bevinni.
(#) ktamas66 válasza sonajkniz hozzászólására (») Márc 5, 2016 /
 
Milyen billentyűk? Csak egérkattingatással!
(#) icserny válasza nedudgi hozzászólására (») Márc 5, 2016 /
 
Jaj, de sajnállak! Nekem úri dolgom volt, mert a TPA-i számítógépben már volt RIM-loader kártya. Csak a kezdőcímet kellett beállítani a kapcsolósoron.
(#) bbalazs_ válasza icserny hozzászólására (») Márc 5, 2016 /
 
Nem, az igazi pogramozo igy irja: 10011101010001011101010110111111010111010
Egeszen pontosan a kezeben tartott drotot erintgeti oda a megfelelo labakhoz es gondosan ugyel a pergesmentesitesre
(#) Hp41C válasza bbalazs_ hozzászólására (») Márc 5, 2016 /
 
Mehetnénk a másik irényba is:
Egyetlen sor elég... Ki kell adni az "Írd meg ezt a programot" utasírást.
Régi programozható Texas Instruments kalkulátorokon a gombok számából következő korlátot előválasztó gombokkal oldották meg. Az egyik az INV (inverse) gomb volt. Pl. az INV + LOG volt a EXP funkció. A funkciók között volt egy CLGRGM azaz Clear Program. Sokat viccelődtünk: Mit is csinál az INV + CLRRGM -- Betölti az épen szükséges programot ?

Félretéve a viccet:
Minden programnyelven lehet az első sortól kezdeni egy programot és lépésről lépésre fejlesztegetni. Hosszú idő, sok vesződség, de sok sok tanuulás. Ezért mondjuk, hogy az alapokat kell előbb megismerni, aztán jöhet a csilivili magas szintű nyelv...
De minden programnyelven lehet ollózni is. Inkább erre megy a világ. Újrahasznosítható függvénykönyvtárak, eljárások, modulok (LCD kezelő "modul", ami bitenként állítgatja a kiírandó adatot csakhogy a különböző portokon levő verzióra is felkészüljön). Sokkal rövidebb feljesztési idő (ha összejönnek a modulok), szinte semmi debuggolás, hiszen a modulokat már valaki kifejlesztette. De rengeteg bug lehet, amire rájönni szinte lehetetlen, hiszen egyes esetekben a forrás nem hozzáférhető. Ennek a következménye, hogy a C nyelvet erőltetjük olyan kontrollerekre, amelyeken nem is lenne érdemes (16C84 stb...). A kód terjengős, lassú (software stack). Hogy megoldjam a problámát a magas szintű nyelven, vegyek kétszer (free módú fordító esetén 4 .. 8 -szor) nagyobb programtárral rendelkező kontrollert. De ezt már sokszor leírtam...
A hozzászólás módosítva: Márc 5, 2016
(#) usane válasza cross51 hozzászólására (») Márc 5, 2016 /
 
Ez az. Pontosan ennyi van leírva a doksiban is, nem több. Béna alatt meg azt értem, hogy a 8 biteseken az élét is be lehetett állítani pl. Ezen meg felfutóra is meg lefutóra is megy, semmi beállítás. A panel meg már készem van, és nem nagyon tudok semmit átforrasztani az SMD-n.
Mindegy is. Már megkerültem. Van 6 Ext int a uc-ben, úgyhogy nem kellett az IOC. Ráadásul a végén, még az interrupt sem kellett, csak a láb állapotát figyeli.

sonajkniz:Minek megírni mégegszer valamit, ha már egyszer megírták?
Egyébként én maximum ötletet merítek belőle, sosem másolom egy az egyben a kódot. Ha valami kész dologgal akarom szívatni magam arra ott az MLA. Az nagyobb szívás
(#) cross51 válasza usane hozzászólására (») Márc 5, 2016 /
 
Igen ez lett volna a következő, gondoltam, hogy az élre gondolsz ott az ext int, de ha gombnak használod szerintem olyan mindegy, hogy melyik, mert a szoftverrel "bármit" tudsz kezelni (én is ezt csinálom PIC32-őn, kicsit más, de ugyanaz ).
(#) sonajkniz válasza usane hozzászólására (») Márc 5, 2016 /
 
Idézet:
„Minek megírni mégegszer valamit, ha már egyszer megírták?”


Na pontosan evvel a hozzáállással van bajom!
Egyszer valaki, valamilyen feladatra összehozott valamit, ami működött. Azóta ezt a változatot használja mindenki, mindenhol. Az, hogy ugyanezt meg lehetne írni rövidebbre, hatékonyabbra, az az elkényelmesedett urakat nem érdekli. "Majd rakunk nagyobb hardvert!"
Vagy szívunk, ha valamivel összeakad! Ezért kell egyre nagyobb teljesítményű számítógép egy alap internetes böngészéshez. Mert már egy weboldal is annyi adatot tartalmaz, hogy egy régi gép nem tud mit kezdeni vele.

Jómagam kb egy éve hoztam össze az első encoder kezelő rutinomat. Tökéletesen működött, és működik most is. Ennek ellenére épp a napokban írtam át negyedszer!
Mert mindig találtam valamit, amivel növelhettem a hatékonyságát.

A ctrl+c->ctlr+v vel plusszban az a bajom, hogy ha a későbbiekben módosítani akarok egy programot, újfent szótárazhatom a kommenteket!
Következő: »»   757 / 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