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   383 / 1210
(#) potyo válasza Johnny0004 hozzászólására (») Márc 15, 2013 /
 
Reset láb környéke hogy néz ki?
(#) Johnny0004 válasza potyo hozzászólására (») Márc 15, 2013 /
 
Bemenetnek használom, 10k-val van Vdd-n. (Másik ugyanolyan tipusú Pic-kel semmi gond, kettővel is próbáltam, egyszer még párhuzamos égetővel progiztam, és azóta ilyen.) Tehát szerintem fizikailag sérült, de mi vajon?
(#) Vadlaz válasza icserny hozzászólására (») Márc 15, 2013 /
 
Nagyon köszönöm, erre rá nem jöttem volna!
Bár most is kapok még warningot (Warning: end of file not at end of a line; newline inserted
), de látom, hogy mit nem tudtam. Most kísérletezek.
Az is baj,h a szubrutinos file-ban használok a másikban deklarált változót...
(#) icserny válasza Vadlaz hozzászólására (») Márc 15, 2013 /
 
Ahol deklarálod, ott kell egy ".global név", ahol pedig hivatkozol rá (a szubrutinban), ott pedig kell egy ".extern név". Utána mennie kell...
(#) jonatani01 hozzászólása Márc 16, 2013 /
 
Sziasztok. Nyáron szeretnék megtanulni PICet programozni. Tudnátok valami jó könyvet ajánlani ami az alapoktól egész jó szintig elmegy és érthető?
(#) kissi válasza jonatani01 hozzászólására (») Márc 16, 2013 /
 
Szia!
Magyar nyelven szerintem a legjobb az apróhirdetések között a 2.kötet Bővebben: Link, de sokat tanulhatsz icserny kolléga weblapjáról ( keress rá a felhasználók között! ), valamint ezen a területen használni kell az angolt és a net tele van ilyen jellegű dolgokkal, példaprogramokkal!
A "biblia" mindenesetre az adott mikrovezérlő adatlapja ( de ez csak angolul van! ) !
Viszont itt egy nagyon jó fórumra találtál, ezt is olvasd végig, nagyon sokat lehet belőle tanulni!
Jó tanulást!
Steve
(#) icserny válasza jonatani01 hozzászólására (») Márc 16, 2013 /
 
Nyálazd végig ezt a topikot, mert már sokszor és sok mindent ajánlottunk a kezdéshez! Például itt is.
(#) zenetom hozzászólása Márc 16, 2013 /
 
Csak kíváncsiságból kérdem, mert én nem jöttem rá. Miért írja az adatlap, hogy UART-nál a TX lábat bemenetnek kell állítani? Aztán írja megjegyzésként, hogy automatikusan átállítja kimenetnek. Akkor miért kell bemenetnek állítani?
Idézet:
„In order to configure RC6/TX/CK and
RC7/RX/DT as a USART:
• SPEN bit ( RCSTA<7> ) must be set (= 1)
• TRISC<7> bit must be set (= 1)
• TRISC<6> bit must be set (= 1)

Note: The EUSART control will automatically
reconfigure the pin from input to output as
needed.”
A hozzászólás módosítva: Márc 16, 2013
(#) nedudgi válasza zenetom hozzászólására (») Márc 16, 2013 /
 
Ha bemenetnek van állítva, akkor letiltod a kimeneti meghajtót. Valószínűleg így könnyebb neki kapcsolgatni.
A hozzászólás módosítva: Márc 16, 2013
(#) zenetom válasza nedudgi hozzászólására (») Márc 16, 2013 /
 
Közben olvasom a PortC I/O táblázatban az RC6/TX lábnál:
Idézet:
„Asynchronous serial transmit data output (EUSART module);
takes priority over port data. User must configure as output.”

Na ezen aki elmegy...
Átlag user gondolom nem foglalkozik vele, hisz megy így-is úgy-is, csak engem izgatott a dolog.
Szerk.: vagy elírták az adatlapban (amin nem csodálkoznék, mert találkoztam már ilyennel).
A hozzászólás módosítva: Márc 16, 2013
(#) Hp41C válasza zenetom hozzászólására (») Márc 16, 2013 /
 
Szia!
Ennek is története van... Nézz át több adatlapot, sokféle megoldást fogsz találni. Az egyiknél kimenetnek kell állítani a Tx lábat, a másik esetben az (E)USART engedélyezése máris kimenetként kezeli. Az elsőnél a Tx láb normál bemenetnek is használható, ha az aszinkron adás nem kell az eszközben. A másodiknál könnyebb az usart programozása. Néhány EUSART -nál a Tx és az Rx negálható is, de van olyan ahol csak a Tx.
(#) zenetom válasza Hp41C hozzászólására (») Márc 16, 2013 /
 
Szia!
Szóval akkor ez inkább ilyen lehetőség féle, ha bemenetként akarnánk kezelni a Tx lábat.
(#) tom75 hozzászólása Márc 16, 2013 /
 
Szia Hp41c!

Programmal kapcsolatban, most már a mértékegység kijelzése jó, de viszont a beállítás menü nem jól dolgozik, 1 ohmos állításnál nem 1.000 tól kezd hanem nagyon nagy értéktől 4.500.

Lehet vele valamit csinálni?

Én próbáltam de nem sikerült.

Köszi
(#) tom75 válasza icserny hozzászólására (») Márc 17, 2013 /
 
A CGRAM-ba betöltők bizonyos adatokat az lehet hatással a program többi működésére is?
(#) kissi válasza tom75 hozzászólására (») Márc 17, 2013 /
 
Ha jól csinálod, akkor nem !
(#) pajti2 hozzászólása Márc 17, 2013 /
 
PS2 csatlakozót hogyan szoktunk próba nyákba ültetni? Ennek a nyamvadt csatlakozónak: http://www.hestore.hu/prod_10027776.html például nagyon olyan a mechanikai kiképzése, hogy nem szeret beleférni próba nyákba. 2 csatival kellene felszerelnem egy pic-et. Jó lesz bármelyik. Aki talált már normális csatlakozót, vagy akár tud eleve ps2 csatival szerelt pic-es áramkört, dobjon róla egy postot plz. (Digilent és hasonló helyeken találtam nyákra szerelve csatlakozókat, de mindegyik ilyen 90 fokos kiképzésű - talán valami uext vagy arduino vagy nem tudom, mihez tervezhették.)
A hozzászólás módosítva: Márc 17, 2013
(#) jonatani01 hozzászólása Márc 17, 2013 /
 
köszi a válaszokat
(#) matheattila válasza pajti2 hozzászólására (») Márc 17, 2013 /
 
(#) pajti2 válasza matheattila hozzászólására (») Márc 17, 2013 /
 
Jók lesznek, köszönöm.
(#) mrobi hozzászólása Márc 17, 2013 /
 
Sziasztok.

Asm-ben programozok. Hogyan lehetne az adatokat növekvő sorrendbe rakni? Kerestem itt is meg a google-ban is de nem találtam semmit. Lehet rosszul kerestem. Válaszokat előre is köszönöm.
(#) Kovabe hozzászólása Márc 18, 2013 /
 
Sziasztok
Szeretnék egy kis segitséget kérni, van egy ASM programom és nem tudom hol lehetne letiltani az egyik programpontot (nem kell). Ebben tudna valaki segiteni esetleg?
(#) kissi válasza Kovabe hozzászólására (») Márc 18, 2013 /
 
Szia!
Nézd meg a feltételes fordítási direktívákat ( ifdef, ifndef ) az MPLAB helpjében benne van !
szerk.: Remélem jól értettem a kérdésedet és nem a program "szerkezetéről" kérsz felvilágosítást ( azt látatlanban csak a "putnoki halottlátó" !)?!
A hozzászólás módosítva: Márc 18, 2013
(#) Kovabe válasza kissi hozzászólására (») Márc 18, 2013 /
 
Az MPLAB-al én már összevesztem mert nem értem, azért is érdeklödtem hogy tu e valaki segiteni (ránézne esetleg) mert total nem értem.
(#) Hp41C válasza Kovabe hozzászólására (») Márc 18, 2013 /
 
Szia!
Idézet:
„Az MPLAB-al én már összevesztem ...”

Ha nem megy valami, elolvasom a leírását és / vagy a súgóját. Segíteni akkor tudok, ha szöveges állományt töltesz fel...
Befordul a kipontozott rész:
  1. #if (2 == 2)
  2. ...
  3. #endif

Nem fordul be a kipontozott rész:
  1. #if (2 == 1)
  2. ...
  3. #endif

Lehet tovább bonyolítani:
  1. #if (Version == 1)
  2. ...
  3. #else
  4. ...
  5. #endif
A hozzászólás módosítva: Márc 18, 2013
(#) Kovabe válasza Hp41C hozzászólására (») Márc 18, 2013 /
 
Ok de hiába olvasom a leírást vagy a súgót, nem megyek semmire föleg hogy a program maga ami el van számomra bonyolitva.
(#) dave77 hozzászólása Márc 18, 2013 /
 
Sziasztok!

Tanácsot szeretnék kérni, hogy milyen irányban induljak. A feladat:

Adott számú impulzus kiadása, változó frekvenciával, de feltétlenül darabra pontosan.
Pl: 8563 db impulzus, 0Hz-ről indulva, 1mp alatt folyamatosan emelve 1kHz-ig, ezen a szükséges ideig folytatni, majd a végén 1kHz-ről 0-Hz-re "lassítva" az ütemet, befejezni.
A frekvenciának, változás egyenletességének nem kell halál pontosnak lennie, a lényeg, hogy a végére pontosan a szükséges 8563 db impulzus hagyja el az adott kimenetet.

A kérdés:
- Simán programozzam le ciklusokkal és változó időzítésekkel
- Lehet/érdemes-e Timer/PWM/Comparátor vagy egyébb perifériákkal megoldani?
Köszönom előre is!
A hozzászólás módosítva: Márc 18, 2013

IO.jpg
    
(#) vicsys válasza dave77 hozzászólására (») Márc 18, 2013 /
 
Az impulzusok számát egy változóba tárolnám és a pwm kimenet éleit számolnám. Ezután egy feltételt adnék ami a tárolt és a beszámolt impulzusokat hasonlítja össze. Ha elérte vagy átlépte a kívánt értéket, a PWM-et le lehetne tiltani. Szerintem.
(#) dave77 válasza vicsys hozzászólására (») Márc 18, 2013 /
 
Ilyesmire gondoltam én is. Csak mivel még nem használtam PWM-et, nem ismerem pontosan a lehetőséget, pl. hogy a frekvenciát tudom-e az adott séma szerint menet közben változtatni.
Illetve a letiltást gondolom megszakítást okozó komparálással kéne csinálni, hogy véletlenül se lépjük túl a db. számot. Kérdés, hogy tud-e ilyet a PWM?
A hozzászólás módosítva: Márc 18, 2013
(#) vicsys válasza dave77 hozzászólására (») Márc 18, 2013 /
 
Szerintem meg csak időzítés kérdése a pwm leállítása. Lehet a pwm-et változtatni menet közben is, ez meg csak sebesség kérdése. Ilyesmit még nem csináltam, de könnyen tesztelheted.
(#) dave77 válasza vicsys hozzászólására (») Márc 18, 2013 /
 
De vajon le lehet vinni a PWM frekvenciát a 0Hz közeli tartományba is? Mert az elején/végén ugye az kellene.
Következő: »»   383 / 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