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   893 / 1203
(#) kriszrap válasza don_peter hozzászólására (») Jan 13, 2017 /
 
valamelyik nap kipróbálom köszönöm
(#) don_peter hozzászólása Jan 13, 2017 /
 
Kérnék egy kis segítséget attól vagy azoktól a felhasználóktól akiknek van 32Bit-es PIC az asztalán és le tudná tesztelni ezt a kis projektet. (csatoltam, mplab)
A projekt a gyárilag illetve a Microchip által ajánlott beállítást tartalmazza amellyel egy karaktert küld ki SPI1-en.
Sajnos az istenért nem akar nekem működni, és nem értem miért.

Ha valaki le tudná tesztelni azt megköszönném.
PIC32MX795F512L PIC-re beállított system, 80MHz-es órajellel.
Köszi előre is.

SPI.ZIP
    
(#) pajti2 válasza don_peter hozzászólására (») Jan 13, 2017 /
 
Ha tényleg hibát kell keresni, az elektronikával illik kezdeni. Normális mechanika, normális elektronika, és utána a szoftver. Kellene egy kapcsrajz, mi és hogyan van kötve nálad. Utána lehet játszadozni perifériákhoz tartozó kész forráskódokkal is egészben, addig még korai.
(#) don_peter válasza pajti2 hozzászólására (») Jan 13, 2017 /
 
Köszi, közben sikerült megtalálni a hibát, egy fórumtársunk rávilágított
Nem volt baja, csak a debuger az SPI pufferét nem vagy hibásan mutatja, és ez volt a baj.
Végig működött.
(#) patrik81 hozzászólása Jan 13, 2017 /
 
Miért világít RA5-ös LED,amikor semmi más nincs a PIC-re kapcsolva,a LED-en és a PICKIT2-n kívül?A soros bemenetre nem kötöttem semmit.Annak kéne bekapcsolnia a LED-et.
  1. #include <xc.h>
  2. #pragma config FOSC = INTRCCLK
  3. #pragma config WDTE = OFF
  4. #define _XTAL_FREQ 4000000
  5.    
  6. void main()
  7. {
  8.     ANSEL = 0;
  9.     TRISA5 = 0;
  10.     SPBRG = 25; //9600 bps
  11.     PIE1bits.RCIE = 1;
  12.     RCSTA = 0x90;
  13.     TXEN = 1;
  14.     BRGH = 1;
  15.     INTCONbits.PEIE = 1;
  16.     INTCONbits.GIE = 1;
  17.     RA5 = 0;
  18. }
  19. void interrupt gps()
  20. {
  21.     if(RCIF)
  22.     {
  23.         RA5 = 1;
  24.     }
  25. }
A hozzászólás módosítva: Jan 13, 2017
(#) Hp41C válasza don_peter hozzászólására (») Jan 13, 2017 /
 
Nem is tudom, hogy kezdjem... Már négy éve nem supportált program, megvan már 10 éves is (MpLab 8.00 -- 2007). A kezdetektől fogva semilyen típuson nem tudta az I2C és az SPI perifériákat szimulálni.
(#) Hp41C válasza patrik81 hozzászólására (») Jan 13, 2017 /
 
A megszakítás okát a kiszolgáló rutinban törölni kell, különben a visszatérés után azonnal újra a megszakítási rutinba fog belépni. Általában programbó kell törölni az xxxIF bitet. A soros illesztőnél automatikusan történik: A vételi kérés az RCREG kiolvasásával, az adási a TXREG írásával (vagy az engedélyező bitjeinek törlésével) törölhető.
(#) patrik81 válasza Hp41C hozzászólására (») Jan 13, 2017 /
 
Átírtam,de még mindig világít.
  1. void main()
  2. {
  3.     ANSEL = 0;
  4.     TRISA5 = 0;
  5.     SPBRG = 25; //9600 baud
  6.     PIR1bits.RCIF = 0;
  7.     PIE1bits.RCIE = 1;
  8.     RCSTA = 0x90;
  9.     TXEN = 1;
  10.     BRGH = 1;
  11.     INTCONbits.PEIE = 1;
  12.     INTCONbits.GIE = 1;
  13.     RA5 = 0;
  14. }
  15. void interrupt gps()
  16. {
  17.     if(RCIF)
  18.     {
  19.         RA5 = 1;
  20.     }
  21. }
(#) patrik81 válasza patrik81 hozzászólására (») Jan 13, 2017 /
 
Töröltem a RCIF-et a mainben is,meg a megszakításban is,de nincs is semmi rákötve a RB5-ös lábra.Valami oknál fogva mégis belép a rutinba.
(#) Hp41C válasza patrik81 hozzászólására (») Jan 13, 2017 /
 
16F690 -en a
  1. PIR1bits.RCIF = 0;

utasítás hatástalan. Ld. kép a mellékletben.

Idézet:
„... nincs is semmi rákötve a RB5-ös lábra.Valami oknál fogva mégis belép a rutinba.”

Húzd fel a Vdd -re 10k -val.
A hozzászólás módosítva: Jan 13, 2017
(#) patrik81 hozzászólása Jan 13, 2017 /
 
Csak 1k-som volt.De még nem jó.
(#) patrik81 válasza patrik81 hozzászólására (») Jan 13, 2017 /
 
Próbáltam a földre lehúzni is.
(#) don_peter válasza Hp41C hozzászólására (») Jan 13, 2017 /
 
Én ezzel még csak most találkoztam, mint hiba mert 8bit-es családnál remekül megy a dolog.
No a lényeg, hogy most már megvan ez a hiba is.. Idegtépő tud lenni a tehetetlenség..
(#) zlanczky hozzászólása Jan 13, 2017 /
 
Segítséget kérek. Több fajta picet programoztam már, (pic16 és pic18 családokból), most a pic18F14K22 van soron. Be van kötve minden javasolt kondi és ellenállás. 1 db ledet villogtatok, mint első kísérleti program. Pickit2-ről megy, külső tápról nem, regulátoron keresztül, sem ceruzaelemekről, sem telefon tápról (sem 3.3V sem 5 V). A led felvillan és ennyi. Mi lehet a baj?
(#) sonajkniz válasza zlanczky hozzászólására (») Jan 13, 2017 /
 
Mellékeld a kapcsolást és a kódot. Valahol ott lesz hiba. Én több mint 50db.- ot használtam eddig a 18F14K22-ből. Megbízható darab. Nem valószínű, hogy a PIC a hibás.
(#) zlanczky válasza sonajkniz hozzászólására (») Jan 13, 2017 /
 
Köszi, én sem gondolom, hogy hardver hiba, valamit talán másként kell csinálni, mint a többi procnál.. (Mondom, pickit2-ről tápolva megy a villogás...)
Sebitben nem tudom szépen lerajzolni, de be van kötve a Pickit2, 100nF a Vdd/gnd között, 10k MCLR/Vdd között, Rc0-on led 460 ohmmal és egy 2950-es regulátor. Más elem nincs.
A kód mellékelve (Talán túlzottnak tűnik a szétszedett kód, de nrf24l01 és ds18b20 lesz még rákötve, eddig pic18f452-vel működtek)
(#) nedudgi válasza zlanczky hozzászólására (») Jan 13, 2017 /
 
Nem debug módban fordítottad véletlenül?
(#) Hp41C válasza don_peter hozzászólására (») Jan 14, 2017 /
 
Idézet:
„Én ezzel még csak most találkoztam, mint hiba mert 8bit-es családnál remekül megy a dolog.”

Bár kétlem.... Esetleg valami Register Injection Stimulust használtál.
(#) Hp41C válasza zlanczky hozzászólására (») Jan 14, 2017 /
 
Váltsd át a fordítási módot Debug -ról Release -ra.
(#) patrik81 válasza Hp41C hozzászólására (») Jan 14, 2017 /
 
Hihetetlen,működik a soros port Az volt a megoldás,hogy az RX lábra az ellenálláson keresztül kapcsolva a feszültséget a program letöltése előtt kell tenni,nem pedig utána.Már a feladás szélén voltam.Köszönöm a segítséget.
(#) don_peter válasza Hp41C hozzászólására (») Jan 14, 2017 /
 
18F4550-el próbáltam és ott láttam, hogy mit tölt be a regiszterekbe, lépésenként figyeltem..
Lehet csak véletlen volt, de működött ezért nem gyanakodtam erre, de most már mindegy is, legalább megtudtam, hogy erre számítanom kell Mplab-nál.
Az MplabX még mindig unszimpatikus nekem, bár előbb utóbb váltani kényszerülök...
(#) zlanczky válasza nedudgi hozzászólására (») Jan 14, 2017 /
 
Sajnos bárhogy fordítom, pickittel megy, akkuról nem. (Csak a táppal lehet a baj, a különbség, nemde?)
(#) Hp41C válasza zlanczky hozzászólására (») Jan 14, 2017 /
 
Konfigurációban a BOR be van kapcsolva? Milyen feszültségre?
(#) zlanczky válasza nedudgi hozzászólására (») Jan 14, 2017 /
 
Most működik, talán kontakt hiba lehetett, bár többször átnéztem.
(#) zlanczky válasza zlanczky hozzászólására (») Jan 14, 2017 /
 
Ha pickit2 csatlakozva van a pic-re(, de a pc-re nem), akkor NEM működik, ha teljesen le van húzva, akkor működik magában a pic.
(#) Hp41C válasza zlanczky hozzászólására (») Jan 14, 2017 /
 
Idézet:
„Ha pickit2 csatlakozva van a pic-re(, de a pc-re nem), akkor NEM működik....”

Az PC -re nem csatlakoztatott PICkit2 -nek nincs tápfeszültsége, a cél rendszertől csak a PGC, PGD és AUX vonalak feszültség korlátozói kapnak feszültséget, a MCLR meghajtó fokozat nem. Így a PICkit2 a MCLR lábat alacsony szintre húzza. Feszültségmérővel ellenőrizhető.
(#) david10 hozzászólása Jan 14, 2017 /
 
Sziasztok,
Van egy ilyen soros LCD-m, aminek sikerült olyan utasításokat küldeni, hogy többet szóba se tudok állani vele. Szerintem a baudratet állítottam el, a de reszetáló parancsot se fogadja el, amivel helyre kellene állítani.
A PIC programját szerintem ha újra ráírom, akkor helyrejön.
Ha már újraírom, akkor szeretném bővíteni a programját néhány extrával.
A forráskód miben volt írva? Mivel tudom lefordítani?
A választ előre is köszönöm!
(#) Pali79 válasza david10 hozzászólására (») Jan 14, 2017 /
 
Nem nagyon értek ehhez, de ez szintem sima C nyelven íródott.
Idézet:
„...original C test code...”
A hozzászólás módosítva: Jan 14, 2017
(#) david10 válasza Pali79 hozzászólására (») Jan 14, 2017 /
 
Az oké, hogy sima C nyelven íródott, de hogyan tudok belőle HEX fájlt fordítani?
(#) Pali79 válasza david10 hozzászólására (») Jan 14, 2017 /
 
Hát mondjuk Mplab-bal, de ha még ez sem tudod, hogy akarod bővíteni?
Következő: »»   893 / 1203
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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