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   815 / 1216
(#) don_peter válasza icserny hozzászólására (») Jún 19, 2016 /
 
Köszönöm meg is nézem, hátha jó lesz..
Igazából nem kell, hogy UBW32-hez illeszkedjen a program, a lényeg, hogy 32MX795-höz illeszkedjen. A forrás része is pont azért kell, hogy a gombot átrakjam máshová illetve a LEDeket kikapcsoljam, mert nincs szükség rá. A főprogram részéhez persze nem akarok nyúlni az jó úgy ahogyan van.
egyébként letöltöttem azt az amit korábban említettél "AN1388", de sajna nem volt jó..
A hozzászólás módosítva: Jún 19, 2016
(#) don_peter válasza icserny hozzászólására (») Jún 19, 2016 /
 
Kipróbáltam, de csak úgy mint a többinél egyszerűen nem hajlandó működni.
Csatolom a képeket.

A képeken amikor az XC32 fordítót állítom be, ott egy csomó hiba van amikor nem találja a fájlokat.
Azokat én sorra átnéztem és amit nem talált azt kijavítottam, hogy megtalálja.
Az eredmény akkor sem volt jó.

Minden állomány megvan és megtalál a program és még is folyamatosan hibát jelez.
Próbáltam új projektet kezdeni és én adtam meg a fájlokat és azok útvonalait, de akkor is hibát dob, és szinte minden esetben a képeken látható hibát hozza. (nem az amikor nem talál valami fájlt, hanem a másik fordító hiba)
Nem tudom mi lehet a gond.
(#) icserny válasza don_peter hozzászólására (») Jún 19, 2016 /
 
Minden bizonnyal mellé kell még rakni az MLA USB programkönyvtárát. A Compiler.h is abban található.

Van egy olyan hülyeség, hogy a saját projektekkel együtt nem szabad közzétenni a Microchip programkönyvtárait, csak az azokon végzett változtatásokat. Az, hogy így a Microchip a saját vevőivel tol ki, és okoz nekik kellemetlenséget, még nem jutott el a vezetőik tudatáig...
A hozzászólás módosítva: Jún 19, 2016
(#) don_peter válasza icserny hozzászólására (») Jún 19, 2016 /
 
Igen, az elején ezzel gond volt, de mostanra a fájlokat mind megtalálja.
Szerintem az lehet a gond, hogy nem jó verzió van meg a projektekhez, vagy módosított az eredeti USB könyvtár és ez miatt akadhat ki.
Csak ezzel az a gond, hogy gyakorlatilag használhatatlan a bootloader, mert nem lehet módosítani azt a pár gombot és ledet.

Tényleg csak akkor jó, ha az ember gyakorolgat..

Más: nincs valakinek egy működő eltéve véletlen?
Olvastam korábban pár bejegyzést, hogy valaki még használ ilyen PIC-et (32MX795), hátha lesz valakinek egy működő verziója.

ui: csatoltam a legtöbbször vagy is inkább minden alkalommal ezt a hibát dobja..
A hozzászólás módosítva: Jún 19, 2016
(#) attika hozzászólása Jún 19, 2016 /
 
Sziasztok!
Pic 12F-re szeretnék fordítani egy tartalmat, melyik Mplab-ot szedjem le hozzá?
(#) don_peter válasza attika hozzászólására (») Jún 19, 2016 /
 
MPLAB X most az egyszerűbb szerintem.
XC fordítót pedig automatikusan fel fogja ajánlani létöltetesre.
3GB hellyel számolj.
A hozzászólás módosítva: Jún 19, 2016
(#) cross51 válasza attika hozzászólására (») Jún 19, 2016 /
 
(#) attika válasza cross51 hozzászólására (») Jún 19, 2016 /
 
Köszönöm.
Meg is van mind a kettő.
(#) icserny válasza don_peter hozzászólására (») Jún 19, 2016 / 1
 
Az MPLAB X-hez nem tudok hozzászólni. Nálam csak MPLAB 8.92 + C32 v2.02 és egy régi MLA (v2012-8-22) van telepítve.

A kissé már idejétmúlt útmutatóban leírtaknak megfelelően a telepített MLA főkönyvtárába (a Microchip, USB, TCPIP stb. mappák mellé) bontottam ki a letöltött UBW32 csomagokat: HIDBoot.X, UBW32_fimware1_6_3 és HelloUSBWorld.X. Az MCU típusának beállítása után első pöccre lefordult mindegyik projekt.

Figyelem! Az UBW32 firmware v1.6.3 nincs könyvtárba pakolva, ezért kibontás előtt kézzel kellett létrehozni egy mappát a számára!
(#) don_peter válasza icserny hozzászólására (») Jún 19, 2016 /
 
El tudnád nekem küldeni azt a projektet (cakli-pakli a hozzá tartozó USB és egyéb szükséges könyvtárral összetömörítve) ami neked pöccre lefordul?
A linkelt oldalon az összes projektet letöltöttem és egyik sem akar fordulni..
Valami akkor lehet nekem hiányzik vagy nem tudom.

Ugyan ez az MPLAB IDE-t használom ugyan azzal a fordítóval (C32).
X-is van, de azt már az új programok írásánál akarom használni..
Előre is köszi.
A hozzászólás módosítva: Jún 19, 2016
(#) don_peter válasza icserny hozzászólására (») Jún 19, 2016 /
 
Köszi, úgy fest tényleg az egészet le kellett tölteni ahhoz, hogy menjen.
Az új MLA-kkal nem kompatibilisek a cuccok, régi 2010-08-04-est kellett letöltenem azzal egyből fordult.
Köszi a segítséget.
(#) cross51 válasza don_peter hozzászólására (») Jún 19, 2016 /
 
Az új MLA-vel azért nem kompatibilis a 32 bit mert mikor jött a harmony "kivették" az MLA-ből a 32 biteseket.
(#) kriszrap válasza cross51 hozzászólására (») Jún 19, 2016 /
 
Idézet:
„A conifg bitek jók.
Akkor még az lehet a probléma, hogy a MikroC az MCU Clock Frequency alatt a belső RCtag frekvenciája / 4-et érti próbáld ki úgy, hogy a 16.000000 helyére 4.000000-mat írsz.”


Sajnos nem jó(( 10k felhuztam MCLR-t.
Bocsi hogy késve írok csak hétvégén nem értem rá....
(#) kriszrap válasza kriszrap hozzászólására (») Jún 19, 2016 /
 
Megoldva 1mhz kell állítani
(#) Elektro.on válasza kriszrap hozzászólására (») Jún 20, 2016 /
 
Le ellenőriztem szimulátorral.
Az, hogy a MikroC -ben beállítod belső 4MHz re az oszcillátort az OSCCON regiszterbe még nem írja be. Ezt a környezet csak az időzítéseknél a ciklusok hosszának a számítására használja.
Az OSCCON regiszter értékét neked kell megadni a programod elején.
(#) Balagemann2031 hozzászólása Jún 20, 2016 /
 
Sziasztok! Lehet hogy bugyuta kérdés, de pl egy 5V-os PIC 10bites A/D moduljának mi az a legkisebb Vref+ értéke ahol még működik az átalakítás? Jelen esetben egy 18F4550-es uC ről van szó aminek a működési tartománya 2-5V ig terjed. Érdekelne, hogy 3V-os Vref+ szal és Vss beállítással, működne még a 10bites felbontás?
(#) cross51 válasza Balagemann2031 hozzászólására (») Jún 20, 2016 / 1
 
Még pont benne vagy a tartományban.

vref.png
    
(#) Balagemann2031 válasza cross51 hozzászólására (») Jún 20, 2016 /
 
Köszi!
(#) don_peter válasza Balagemann2031 hozzászólására (») Jún 20, 2016 /
 
Azért ezt is vedd figyelembe, hátha..

osc_2-5v.JPG
    
(#) kriszrap hozzászólása Jún 21, 2016 /
 
Sziasztok lehet rossz helyre írom
Annyi a bajom hogy a ciklusom valamiért nem futt le "meddig" változott kiszedem a forciklusbol és fixen adom meg pl "5" akkor tökéletes de ha belerakom a változott akkor már nem müködik
  1. void oszlopok(int meddig)
  2. {
  3.     LATC.RC1=0; //reset
  4.     LATC.RC1=1; //reset
  5.     for(i=1;i<=meddig;i++)
  6.     {
  7.       if(i==1)LATA.RA7=1;  //data
  8.       else LATA.RA7=0;
  9.       LATC.RC0=1; //clock
  10.       Delay_us(5);
  11.       LATA.RA7=0;//data
  12.       LATC.RC0=0;//clock
  13.     }
  14.     LATA.RA6=1;//lacth
  15. }

igy használom oszlopok(3);
ötlet?
(#) Zsolt2 válasza kriszrap hozzászólására (») Jún 21, 2016 /
 
Az i ciklusvaltozo hol van deklaralva es milyen tipusu?
(#) kriszrap válasza Zsolt2 hozzászólására (») Jún 21, 2016 /
 
program elsö sorába és" int i" ként (hupsz az lemaradt)
(#) don_peter válasza kriszrap hozzászólására (») Jún 21, 2016 /
 
i nincs deklarálva.
  1. void oszlopok(int meddig)
  2. {
  3.     int i;
  4.     LATC.RC1=0; //reset
  5.     //...stb
(#) kriszrap válasza don_peter hozzászólására (») Jún 21, 2016 /
 
Idézet:
„program elsö sorába és" int i" ként (hupsz az lemaradt)”


bezavarhat ilyen:
  1. elsosor(char elsoled) //értékeke:1 és 0
  2. {
  3. LATA.RA0=elsoled;
  4. //.......stb
  5. }

Nem zavarhatja be a többit ha rossz változó tipust adtam meg több helyre még nem javitottam tegnap este vettem észre.....
A hozzászólás módosítva: Jún 21, 2016
(#) don_peter válasza kriszrap hozzászólására (») Jún 21, 2016 /
 
Jaja, közben észre vettem, mikor frissült az oldal.
LATA.RA0 csak két értéket vehet fel: 1 vagy 0.
Ha elsoled más értéket is felvehet, akkor esetleg okozhat problémát.
Máskülönben nem igen..

Esetleg érdemes Makrókat használnod, azzal könnyebb lenne és tán a kód is átláthatóbb volna.
pl:
  1. #define LED1 LATA.RA0

Használata pedig:
  1. LED1 = elsoled;
A hozzászólás módosítva: Jún 21, 2016
(#) kriszrap válasza don_peter hozzászólására (») Jún 21, 2016 /
 
semmi írtam most épp.

szer.: hmm akkor a forciklusba láthatólag nincs hiba ugye????
A hozzászólás módosítva: Jún 21, 2016
(#) don_peter válasza kriszrap hozzászólására (») Jún 21, 2016 /
 
Nem látok benne hibát.
Szépségre lehetne persze még alakítani rajta, de így is elvégzi a dolgát.
Esetleg a változóknál érdemes mindig végig gondolni mi a legnagyobb érték amit felvehet és ha ezt tudod akkor ennek megfelelően választani.
Tehát, ha csak maximum 0-255 a felvehető érték és nem lesz negatív soha, akkor "unsigned char" típusra érdemes deklarálni. (előjel nélküli char típusú változó)
Vagy, ha 255-nél nagyobb, de 32767-nél kisebb és nincs előjel, akkor: "unsigned short"
Esetleg, ha 32767-nál nagyobb, de 65535-nél kisebb és nincs előjel, akkor: "unsigned int"
És így tovább.
Ez persze most nem érdekes, de később a program méretének növekedésével arányosan kell majd ésszerűbben használni a változókat.
(#) giskard válasza Elektro.on hozzászólására (») Jún 21, 2016 /
 
Gondolom senkit nem érdekel, de udvariasságból válaszolok a feltett kérdésre.
(a neten sok minden van, de ami kéne az sose (gondolok itt kicsit speciálisabb dolgokra)).
Az 58 lábú + duplán multiplexelt LCD (ezt csak a meghajtó IC-kből tudom) vezérlő IC bemeneteit
bevezettem 2 db PIC-be és a soros adatfolyamot visszafejtettem (a szegmensek azonosításához 54 lábat el kellett vágnom) és így vezéreltem egy ledekből összeállított kijelzőt. A programban felhasználtam a megszakításból való ugrást.
Summa summarum, a siker teljes.
A hozzászólás módosítva: Jún 21, 2016
(#) Elektro.on válasza giskard hozzászólására (») Jún 21, 2016 /
 
Szép teljesítmény, örülök a sikerednek.
De mit is kérdeztem?
(#) giskard válasza Elektro.on hozzászólására (») Jún 21, 2016 /
 
"Majd írd meg mire jutottál." (a ponttal ellentétben, tudomásom szerint ez kérdőmondat).
A hozzászólás módosítva: Jún 21, 2016
Következő: »»   815 / 1216
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