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   129 / 1210
(#) El_Pinyo válasza pajti2 hozzászólására (») Aug 28, 2011 /
 
Ha nem kell túl nagy sebesség, akkor az MMC vagy SD kártya is megoldást jelenthet SPI kommunikációval.
(#) kissi válasza pajti2 hozzászólására (») Aug 28, 2011 /
 
Szia!

A MAPS ezt adta a Microchip-nél ( ha már PIC !) :SST25VF064C Bővebben: Link, ebből 4 db szerintem jó lehet!

Steve
(#) pajti2 válasza El_Pinyo hozzászólására (») Aug 28, 2011 /
 
Az flash kártyát is inkább csak ott lehet hatékonyan használni, ahol megvannak a memória bufferek a túl gyakori újraírási műveletek elleni védelemhez, és akkor ki is kötöttem ugyan ott. A flash tippet köszönöm, természetesen észben tartom, mint lehetőséget, de most dinamikus ram kellene.
(#) Hp41C válasza pajti2 hozzászólására (») Aug 28, 2011 /
 
Szia!

PIC24FJ128GB206 (96k belső RAM) és a flash megoldást jelenthet.
(#) morzsa15 hozzászólása Aug 29, 2011 /
 
Üdv!
Az icd2 mire jó ?
(#) Hp41C válasza morzsa15 hozzászólására (») Aug 29, 2011 /
 
Pic kontrollerek programozására, a programok nyomonkövetésére. Sajnos elavult: ("The MPLAB ICD 2 is not recommended for new designs and will not support new MCU or dsPIC devices released after September 2010.") Helyébe az ICD3 lépett...
(#) morzsa15 válasza Hp41C hozzászólására (») Aug 29, 2011 /
 
És ezekbe és kell felprogramozot pic úgy irtva hogy tugyon programozni
(#) janikukac válasza morzsa15 hozzászólására (») Aug 29, 2011 /
 
Igen. Itt is van az oldalon egy ICD2, és pic lakik benne. Bővebben: Link :yes:
(#) Hp41C válasza morzsa15 hozzászólására (») Aug 29, 2011 /
 
Kell bele felprogramozott pic: a soros vertióhoz egy 16F877(A), az USB -s verzióhoz egy 16F877(A) és egy 18F4550.

Jobban jársz egy PICKit2 -vel (vagy klónnal), PICKit3 -mal.
(#) morzsa15 válasza Hp41C hozzászólására (») Aug 29, 2011 /
 
Pickit3 klón nincsen ?
(#) icserny válasza morzsa15 hozzászólására (») Aug 29, 2011 /
 
Ebay-en van, a Sure Electronics "klónozta", de a kérdésed értelmében az is "gyári"...
(#) potyo válasza morzsa15 hozzászólására (») Aug 29, 2011 /
 
A kapcsolási rajza és a firmware is nyilvános, úgyhogy akár te is klónozhatod.
(#) Hp41C válasza morzsa15 hozzászólására (») Aug 29, 2011 /
 
Megérné?... :nemtudom:

PICKIT.JPG
    
(#) moderboy hozzászólása Aug 30, 2011 /
 
Ha 16F887-re tennék egy 32k külső kristályt, hogy tudjam órához használni, akkor a PWM modul mennyire maradna használható? Vagy tudja hozzá a belső oszcillátort használni?
(#) potyo válasza moderboy hozzászólására (») Aug 30, 2011 /
 
A PWM modult a Timer2 hajtja, míg a kvarcról a Timer1 tud menni, így a kettő nem érinti egymást, használhatod a PWM modult a belső órajelről.
(#) Pepebá válasza icserny hozzászólására (») Aug 30, 2011 /
 
Hali!
Mégsem igazán működik a timer2 jelzőbit kiolvasás a Piccoló projectben.
Az squarewave.c programnál maradva hova kell elhelyeznem a=PIR1bits.TMR2IF egyenlőséget ahhoz hogy a főprogramban használhassam az értékét?
Az Watch-ban látom TMR2 csökkenését, a PIR1 2.bitjének változását, de nem tudom a jelzőbit értéket kiolvastatni.
Üdv.
(#) potyo válasza Pepebá hozzászólására (») Aug 30, 2011 /
 
Megszakítási rutinba valami ilyesmi kellene:
  1. if (PIR1bits.TMR2IF)
  2. {
  3.         PIR1bits.TMR2IF=0;
  4.         a=1;
  5.         ...
  6. }


Főprogramban meg
  1. if (a)
  2. {
  3.         a=0;
  4.         ...
  5. }


Az a változó természetesen globális kell, hogy legyen.
(#) icserny válasza Pepebá hozzászólására (») Aug 31, 2011 /
 
Idézet:
„Az squarewave.c programnál maradva hova kell elhelyeznem a=PIR1bits.TMR2IF egyenlőséget ahhoz hogy a főprogramban használhassam az értékét?”
Nem tudom, hogy mi a csudát akarsz a programmegszakítást kérő jelzőbittel. Az eredeti kérdésfelvetésben nem arról volt szó, hogy hosszú késleltetéseket akarsz? Ehhez az interrupt kiszolgáló eljárásban kell egy számlálót csökkentgetni (ha nem nulla az értéke), nem a főprogramban. A főprogramban pedig előbb beállítod, hogy mennyi legyen a késleltetés, majd azt figyeled, hogy nullázódott-e már.

Ha közben változott az elképzelésed, akkor egyeztessünk, hogy követni tudjam, mivel próbálkozol!
(#) icserny válasza potyo hozzászólására (») Aug 31, 2011 /
 
Idézet:
„Az a változó természetesen globális kell, hogy legyen.”
És volatile, nehogy a fordító kioptimalizálja a figyelését!
(#) Pepebá válasza icserny hozzászólására (») Aug 31, 2011 /
 
Hali
Nem változott a feladat amit megakarok oldani: olyan áramkör amely a bemenet (k) változására, adott kimeneteket vezérli (ki-bekapcsolja) különböző késleltetésekkel.
Csak a megoldásban nem ismertem fel azt az egyszerű dolgot hogy a timer2 jelzőbitje megszakítást okoz és a vezérlés a rutinba kerül, ahol már ugyis 1 a jelzőbit. Én user meg ott vizsgáltam az értékét. Végül is az eredmény ua. csak az én megoldásom felesleges.
A problémát az okozta és azért nem működött mert nem volt globális a változó.
Egyébként hogyan lehet a változót globálisnak és valetite-nek dekralárni;? Biztos egyszerű, de most nem tudok utána nézni és kipróbálni.
Üdv.
(#) icserny válasza Pepebá hozzászólására (») Aug 31, 2011 /
 
Ha a program elején, a main() és minden más függvényen kívül deklarálod, akkor az globális lesz. Volatile pedig akkor lesz, ha a deklarálásnál a "volatile" varázsszót is megadod, ahogy ebben a hozzászólásban írtam.
(#) kzteam hozzászólása Szept 1, 2011 /
 
Hello,

Ismét egetrengető problémám van. ASM-ben már tudtam 18f14k22-t kezelni, de valójában C18 compilerrel szeretnék dolgozni.

Feltelepítettem.
Beállítottam.
Eredmény: lefordítja a forráskódot, elkészíti még a hex állományt is, de a "Programmer/Program" parancs hatására nem történik működékes dolog. Értsd: lefut a programozás, a rátöltött ASM programot tuti törli, Verify hiba nélkül lefut, de mégsem történik semmi.

Kilépek MPLAB-ból, PICKIT2 indítom, hex-et rá tudom tölteni a PIC-re és működik is!

Miért nem megy MPLAB alól, míg ASM-el meg megy és a hex állományt is legyártja a C18??

Ezer hála a válaszért.
(#) icserny válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Lehet, hogy csak rá kellene bökni a Programmer/Release for Reset vagy a Programmer/Set Vdd On menüpontra.
(#) kzteam válasza icserny hozzászólására (») Szept 1, 2011 /
 
Kipróbáltam. Nem segít sajnos. Tettem próbát a PICKIT2 programmal is, bepipáltam a VDD ON gombot, de meg se nyikkan.

Olyan mintha MPLAB alatti rátöltés egy ismeretlen programot kódolna a PIC-be, de szabványosan, amit nem tudom mi és honnan veszi, de semmi kapcsolata a projektemmel.
(#) icserny válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Már nem tudlak követni. Lentebb még azt írtad, hogy a PICkit2 programjával felírva működik.
(Egyébként a PICkit2 programja is RESET-ben tudja tartani a mikrovezérlőt, ha nem vigyázol!)
(#) kzteam válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Az ismeretlen eredetű program verzióját támasztja alá, hogy alapból 0xEF a lefordított programom, majd mindent kikommenteztem csak a main() maradt és így is 0xEF a mérete

A program:

#include
#pragma config WDTEN = OFF
void main (void)
{
/*TRISC = 0x0;
while (1){
PORTC = 0x01;
}
;*/
}[i]
(#) kzteam válasza icserny hozzászólására (») Szept 1, 2011 /
 
Bocs ha nem megfelelően írtam le:

Igen, a HEX filet kitallózva PICKIT2-vel fel tudom tölteni a mikrovezérlőre és működik is.

Idézet:
„Tettem próbát a PICKIT2 programmal is, bepipáltam a VDD ON gombot, de meg se nyikkan.”


Ez arra vonatkozott, hogy MPLAB alatt hiba nélkül lefutott programozás után kiléptem, indítottam PICKIT2 progit és csak a tápot kapcsolatam a Starter panelra.
(#) watt válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Állítsd Release módba a fordítót...
(#) kzteam válasza watt hozzászólására (») Szept 1, 2011 /
 
Elnézést az értetlenkedésért, de azt hol kell?

Találtam egy:MPLAB/Projekt/Build Configuration alatt Release vagy Debug választhatóságot , de egyikre állítva sem történik változás.
(#) Hp41C válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Az állítás (Release / Debug) után még le is kell fordítani az egész programot...
Következő: »»   129 / 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