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   1101 / 1203
(#) f2f2 hozzászólása Nov 9, 2019 /
 
code protect nél és ha flashes a PIC mi van akkor ha :
CP 1 re állítjuk a configban majd a CODE szerinti összes bit 1 en áll és a felíráskor
valami külső behatást a flash törlése időtartama alatt kellő feszültség hiánya vagy órajel túlgyorsítást vagy MCLR fesz változás elérve tudná végrejhajtani a törlést majd lehet a full bit1 nél írást ki is hagyna vagy ha nem eleve a nem FF en álló bytokat FF re kényszerítve írni eleve semmi nem változna és a végén a Configot felírja.
Mi történne ekkor a következő hiteles olvasásnál?
(#) f2f2 válasza f2f2 hozzászólására (») Nov 10, 2019 /
 
hopp javítva egy nem kimaradt
fesz változás elérve "nem" tudná végrejhajtani a törlést
(#) pipi válasza f2f2 hozzászólására (») Nov 10, 2019 /
 
Én nem értem az egész szöveget, miről van szó.
Igazából mit szeretnél? Kód védett pic-et kiolvasni?
(#) f2f2 válasza pipi hozzászólására (») Nov 10, 2019 /
 
Ugye a programozó CODE íráskor előszőr erase n megy keresztűl utána a CODE elején addíg ír fel csak ameddig van 0 bites byte. Ahonnan már nincs ott továbblép következő feladatra.
De a CODE általunk lehet tetszőleges akár Full bit1. Írás előtt a Configot is szerkeszthetjük
akár CP CPD nyitottra. Valahogy ha csak annyit érnénk el hogy az ERASE flash fizikailag ne valósúljon meg
akkor vajon kidobja e hogy ezt nem végezte el vagy engedi a folyamataink folytatását.
Ha az erase nem valósulna és a config felírását sikerrel végezhetjük megírni,
akkor így nyitottá lehetne tenni a Flash-es chipet ?
(#) pipi válasza f2f2 hozzászólására (») Nov 10, 2019 /
 
Nem. Több okosság van erre a chipben. Ha jól emlékszem a 84-es picnél lehetett mókolni valami túlfesszel, de azóta megoldották.
(#) f2f2 válasza pipi hozzászólására (») Nov 11, 2019 /
 
PICKIT2 Programmer menüjében a Clear memory buffers on Erase
ugyebár, ha be van pipálva és csak eepromot akarunk írni sikkerrel kitörli a programunk is.
Viszont, ha a felső program memory azaz a CODE írására készülünk fel eeprom nélkül,
mi a különbség, ha az "Clear memory buffers on Erase" be vagy ki van pipálva ?
(#) Hp41C válasza f2f2 hozzászólására (») Nov 11, 2019 /
 
A PICkit2 program ablakján a program és az adat eeprom panel felett is van egy checkbox. Ha pipa van benne, a hozzá tartozó területet programozza (törli és újraírja) a program. Ha valamelyikben nincs pipa, az változatlanul marad. A program memóriával egyszerre megy a konfiguráció és a felhasználói azonosító.
(#) f2f2 válasza Hp41C hozzászólására (») Nov 11, 2019 /
 
Legalább 2 vagy 3 PIC en vesztettem el a futatott állományt úgy, hogy csak alul volt bepipálva
az eepromnál és az eeprom írása után már nem csináltak ezek a chipek semmit.
Clear memory buffers on Erase ez nekem mindíg be volt jelölve. Aztán kivettem és nincs ilyen problémám.
(#) f2f2 válasza f2f2 hozzászólására (») Nov 11, 2019 /
 
Vagy lehet a PK3 eredeti 1.0.0 ás softjával szálltak el a chipjeim ahol a
"Erase Before programming" maradt volna bejelölve?.. passz de az tuti hogy csak az eeprom volt írás előtt bejelölve
(#) f2f2 válasza f2f2 hozzászólására (») Nov 11, 2019 /
 
Na mondom én. Nem a 3.10 hanem a valós PK3 PC soft
"Erase Before programming" bejelölésével csak eeprom bepipáltan is végrehajta
programunk törlését.
(#) kissi válasza f2f2 hozzászólására (») Nov 12, 2019 /
 
Szia!

Eddig ezt írtad
Idézet:
„PICKIT2 Programmer menüjében”
, most PK3-as ablakot csatolsz !
A
Idézet:
„"Erase Before programming" bejelölésével csak eeprom bepipáltan is végrehajta
programunk törlését.”

Persze, mert ez azt jelenti, hogy teljes törlés programozás előtt !
(#) Hp41C válasza Hp41C hozzászólására (») Nov 12, 2019 /
 
Megjegyzések:
- A PICkit3 scripting application lényegében egy PICkit2 -t csinál a PICkit3 -ból (firmware cserével). A fejlesztés kezdetén készült, összesen két verziót élt meg, tele van hibákkal (az összes olyan hibát tartalmazza, amit a PICkit2 akkori verziója tartalmazott). Aztán felhagytak vele. Az MPLabX IPE programját javasolják helyette.
- A PICkit2 V2.6x.xx -nek nincs "Erase Before Programming" menüpontja
- "Clear memory buffers on Erase" csak a programozó belső buffereit törli.
(#) f2f2 válasza kissi hozzászólására (») Nov 12, 2019 /
 
Az odáig okay hogy szó szerint a menü e célt szolgál. De mi szükség volt erre a menüre ?
Ha program memory-t át akarjuk írni úgyis Flashtörléssel kezd. Ha meg az eeprom írása csak a cél, akkor meg illene egy figyelmeztetés a menü jelen beállításával a program memory tartalma elveszik, ezt elkerülendő módosítson a menün. stb stb.
Lehet rosszul emlékeztem és a PK3 csinálta a gebaszt. Visszaállítottam a 3.10 ről a 1.0.0
A pk3 at és sose kapcsolom be az ERASE b.p. menüt.
(#) b10up hozzászólása Nov 13, 2019 /
 
Sziasztok,

Egy nagyon egyszerű játékot kellene készítenem, amihez egy 16F1825-öt kellene (f)elhasználnom.
A lényeg az, hogy az A és C portok 0,1,2 tüskéi kimenetek, ezeken egyelőre ledek vannak, a 4,5,6-ok bemenetek, amik ellenállással Vdd-re vannak húzva.

Belső oszcillátorról jár szépen, viszont az A4, A5 portot nem tudom rábírni, hogy bemenet legyen. Vagy legalábbis mindig 0-t olvasok ki rájuk. Van valakinek ötlete, hogy mit ronthatok el?
A teszt erejéig minden bemenethez rendeltem egy ledet. A bekapcsolás utáni teszt lefut, szóval a kimenetek rendben vannak. Viszont utána 4 led bekapcsolva marad, a pin lehúzására ki is alszik, majd visszajön. Kivéve azt a kettőt, ami az RA4, RA5 portról kap bemenetet, azok a teszt után mindig sötétek maradnak.

  1. #define LED1 LATC.F1
  2. #define LED2 LATC.F2
  3. #define LED3 LATC.F0
  4. #define LED4 LATA.F2
  5. #define LED5 LATA.F1
  6. #define LED6 LATA.F0
  7.  
  8. #define BTN1 PORTA.F5
  9. #define BTN2 PORTA.F4
  10. #define BTN3 PORTA.F3
  11. #define BTN4 PORTC.F5
  12. #define BTN5 PORTC.F4
  13. #define BTN6 PORTC.F3
  14.  
  15.  
  16. void main() {
  17.     TRISA=0b00111000;
  18.     TRISC=0b00111000;
  19.     ADCON0=0x00;
  20.     ADCON1=0x00;
  21.     ANSELA=0x00;
  22.     ANSELC=0x00;
  23.     WPUA=0xFF;
  24.     WPUC=0xFF;
  25.     T1GCON=0x00;
  26.     CM1CON0 = 0x00;
  27.     CM1CON1 = 0x00;
  28.  
  29.     CM2CON0 = 0x00;
  30.     CM2CON1 = 0x00;
  31.  
  32.  
  33.     /* Hello effect*/
  34.     LED1=0;
  35.     LED2=0;
  36.     LED3=0;
  37.     LED4=0;
  38.     LED5=0;
  39.     LED6=0;
  40.     Delay_ms(50);
  41.     LED1=1;
  42.     Delay_ms(50);
  43.     LED2=1;
  44.     Delay_ms(50);
  45.     LED3=1;
  46.     Delay_ms(50);
  47.     LED4=1;
  48.     Delay_ms(50);
  49.     LED5=1;
  50.     Delay_ms(100);
  51.     LED1=0;
  52.     LED2=0;
  53.     LED3=0;
  54.     LED4=0;
  55.     LED5=0;
  56.     LED6=0;
  57.    
  58.     while(1)
  59.     {
  60.      if(BTN1)LED1=1;else LED1=0;
  61.      if(BTN2)LED2=1;else LED2=0;
  62.      if(BTN3)LED3=1;else LED3=0;
  63.      if(BTN4)LED4=1;else LED4=0;
  64.      if(BTN5)LED5=1;else LED5=0;
  65.      if(BTN6)LED6=1;else LED6=0;
  66.     }
  67. }
(#) Elektro.on válasza b10up hozzászólására (») Nov 13, 2019 /
 
Szia!

Tilts le minden egyéb funkciót ami azokhoz a lábakhoz tartozik.
Lásd lent.
(#) b10up válasza Elektro.on hozzászólására (») Nov 13, 2019 /
 
Szia!

Köszi, megpróbáltam letiltani mindent és amit lehetett, áttenni másik lábra az adott funkciót, de továbbra is csak 0 értéket lát a pic az RA4, RA5 lábakon.
(#) Koncsar hozzászólása Nov 13, 2019 /
 
Sziasztok! Nincs Valakinek egy gyertya, mécses villogását utánozó LED es progija? Köszi.
(#) sonajkniz válasza Koncsar hozzászólására (») Nov 13, 2019 /
 
Szia!

Az nincs, de ennyiért nem biztos, hogy érdemes vele szórakozni.
(#) Bakman válasza b10up hozzászólására (») Nov 13, 2019 /
 
Tipp:

T1GCON=0x00;

helyett

T1CON=0x00;
(#) f2f2 válasza b10up hozzászólására (») Nov 13, 2019 /
 
0,1,2 bitek outputok
hogy érted hogy 4,5,6
3,4,5 bitek inputok

A LED1-2 és LED4-5 nél a bitek szándékosan felcseréltek ?

Azt kellene tudni hogy a RA4,5 biztos hogy TTL General purpose állásban van e

LED4=1;
LED5=1;
LED6=1;

Ha így lenne alapból világítana ez a 3 led ?
A hozzászólás módosítva: Nov 13, 2019
(#) f2f2 válasza f2f2 hozzászólására (») Nov 13, 2019 /
 
PDF 132. oldalon ezeket kell megnézni
TABLE 12-2: SUMMARY OF REGISTERS ASSOCIATED WITH PORTA
hátha valamelyiket még át kell kapcsolni
(#) b10up válasza f2f2 hozzászólására (») Nov 17, 2019 /
 
Sajnos amit lehet már átkapcsoltam, letiltottam, de így sem jó. Sőt megpróbáltam átkapcsolni kimentetnek az OSC1, OSC2 lábat és csinálni egy oda vissza villogót. Az az érdekes, hogy villogni nem kezdett el a led, viszont egyik lábon nem mértem semmit, a másikon viszont mintha az órajel jönne ki. Viszont ahol tudtam, IO portnak állítottam be ezt a két lábat. Ilyenkor mi lehet?
(#) pipi válasza b10up hozzászólására (») Nov 17, 2019 /
 
Konfigbitek is rendben?
Egyébként szerintem az összes port definiciód rossz
#define LED1 LATC.F1 ilyen nem létezik, ez a LATC.C1 a jó...
(#) b10up válasza pipi hozzászólására (») Nov 17, 2019 /
 
A képen lévő beállításokkal fordítottam.
A port definíciók szerintem jók, mert a LATC.C1-re kiakad hibával, F1-re lefordul.
(#) kissi válasza b10up hozzászólására (») Nov 17, 2019 /
 
Szia!

Idézet:
„A teszt erejéig minden bemenethez rendeltem egy ledet.”


Ezeket nem hagytad rajta, nem azok nem engedik a gombokat érvényre jutni ?!
(#) nedudgi válasza b10up hozzászólására (») Nov 17, 2019 /
 
Ha az ICSP lábakat azonnal kimenetnek állítod, előállhat olyan helyzet, hogy kínlódni kell a kontroller átprogramozásakor. Jobb megszokni, hogy az ICSP lábakat kimenetként használó program elejére egy kis késleltetést teszel.
(#) b10up válasza kissi hozzászólására (») Nov 17, 2019 /
 
Szia!

De igen, mármint ennyi az egész teszt:

  1. /* Hello effect*/
  2.     LED1=0;
  3.     LED2=0;
  4.     LED3=0;
  5.     LED4=0;
  6.     LED5=0;
  7.     LED6=0;
  8.     Delay_ms(50);
  9.     LED1=1;
  10.     Delay_ms(50);
  11.     LED2=1;
  12.     Delay_ms(50);
  13.     LED3=1;
  14.     Delay_ms(50);
  15.     LED4=1;
  16.     Delay_ms(50);
  17.     LED5=1;
  18.     Delay_ms(100);
  19.     LED1=0;
  20.     LED2=0;
  21.     LED3=0;
  22.     LED4=0;
  23.     LED5=0;
  24.     LED6=0;
  25.  
  26.     while(1)
  27.     {
  28.      if(BTN1)LED1=1;else LED1=0;
  29.      if(BTN2)LED2=1;else LED2=0;
  30.      if(BTN3)LED3=1;else LED3=0;
  31.      if(BTN4)LED4=1;else LED4=0;
  32.      if(BTN5)LED5=1;else LED5=0;
  33.      if(BTN6)LED6=1;else LED6=0;
  34.     }


Végigfut egy csík az első öt leden,majd mind a 6 fixen off, utána pedig minden bemeneti lábhoz rendelek egy kimenetit. Az összes bemenet fel van húzva 10k-val Vdd-re, szóval mind a 6 lednek világítania kéne, de ami az A4, A5-ös lábon van, annak a ledjei csak az első futófénynél villannak fel, utána sötétek maradnak. Ha az A4,A5 lábat manuálisan Vss-re vagy Vdd-re kötöm, akkor sem történik sajnos semmi.

De megfordítottam ezt a tesztet, hogy átkapcsoltam a TRISA-regiszterben a 4,5ös portot kimenetnek, majd 2 bekötött ledet és az A4,A5 porton 1-1 ledet felváltva villogtasson. A ledek oda-vissza villognak, de az A5-ön nem mérek semmit, A4-en pedig Vdd töredékét.
(#) nedudgi válasza pipi hozzászólására (») Nov 17, 2019 /
 
Ha a fordító elég béna, akkor simán elfogadhatja 1-es bitnek. Azt nem tudjuk, volt-e hibaüzenet, vagy figyelmeztetés.
A hozzászólás módosítva: Nov 17, 2019
(#) b10up válasza nedudgi hozzászólására (») Nov 17, 2019 /
 
Köszi, beleírtam 500ms késleltetést az elejére
(#) b10up válasza nedudgi hozzászólására (») Nov 17, 2019 /
 
Nem volt még csak warning sem.

  1. 0 1 mikroCPIC1618.exe -MSF -DBG -pP16F1825 -DL -O11111114 -fo0.5 -N"C:\Users\balla\Documents\PICDev\SorrendiJatek\MyProject.mcppi" -SP"C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\Defs\" -SP"C:\Users\Public\Documents\Mikroelektronika\mikroC PRO for PIC\Uses\P16_Enh\" -SP"C:\Users\balla\Documents\PICDev\SorrendiJatek\" "sorrendijatek.c" "__Lib_Math.mcl" "__Lib_MathDouble.mcl" "__Lib_System.mcl" "__Lib_Delays.mcl" "__Lib_CType.mcl" "__Lib_CString.mcl" "__Lib_CStdlib.mcl" "__Lib_CMath.mcl" "__Lib_MemManager.mcl" "__Lib_Conversions.mcl" "__Lib_Sprinti.mcl" "__Lib_Sprintl.mcl" "__Lib_Time.mcl" "__Lib_Trigonometry.mcl" "__Lib_Button.mcl" "__Lib_Manchester.mcl" "__Lib_OneWire.mcl" "__Lib_PS2.mcl" "__Lib_Sound.mcl" "__Lib_SoftI2C.mcl" "__Lib_SoftSPI.mcl" "__Lib_SoftUART.mcl" "__Lib_ADC.mcl" "__Lib_EEPROM.mcl" "__Lib_FLASH_rwe.mcl" "__Lib_I2C_c01.mcl" "__Lib_PWM_c53a2c1.mcl" "__Lib_SPI_c012.mcl" "__Lib_UART_c45.mcl" "__Lib_PortExpander.mcl" "__Lib_CANSPI.mcl" "__Lib_GlcdFonts.mcl" "__Lib_LcdConsts.mcl" "__Lib_Lcd.mcl" "__Lib_RS485.mcl" "__Lib_SPIGlcd.mcl" "__Lib_SPILcd.mcl" "__Lib_SPILcd8.mcl" "__Lib_SPIT6963C.mcl" "__Lib_EthEnc28j60.mcl" "__Lib_EthEnc24j600.mcl"  
  2. 0 1139 Available RAM: 1008 [bytes], Available ROM: 8192 [bytes]  
  3. 0 122 Compilation Started sorrendijatek.c
  4. 78 123 Compiled Successfully sorrendijatek.c
  5. 0 127 All files Compiled in 47 ms  
  6. 0 1144 Used RAM (bytes): 0 (1%)  Free RAM (bytes): 1008 (99%) Used RAM (bytes): 0 (1%)  Free RAM (bytes): 1008 (99%)
  7. 0 1144 Used ROM (program words): 167 (2%)  Free ROM (program words): 8025 (98%) Used ROM (program words): 167 (2%)  Free ROM (program words): 8025 (98%)
  8. 0 125 Project Linked Successfully MyProject.mcppi
  9. 0 128 Linked in 31 ms  
  10. 0 129 Project 'MyProject.mcppi' completed: 110 ms  
  11. 0 103 Finished successfully: 17 nov. 2019, 12:50:01 MyProject.mcppi
Következő: »»   1101 / 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