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   1065 / 1203
(#) glaci válasza Hp41C hozzászólására (») Jan 7, 2019 /
 
Így csináltam, de ez nem olyan elegáns.
(#) Bakman válasza glaci hozzászólására (») Jan 7, 2019 /
 
Feltétlen kell a lebegőpontos szám?
(#) glaci válasza Bakman hozzászólására (») Jan 7, 2019 /
 
Mivel tizedes törtként kerül beírásra és felhasználásra is, igen.
(#) Bakman válasza glaci hozzászólására (») Jan 7, 2019 /
 
Nem feltétlen értem a választ. Számolni lehet egész számokkal is, lefeljebb a kiírásnál kell két számjegy közé egy tizedesjelet biggyeszteni. Mi az a művelet, ahol mindenképpen kell a valós tizedes tört?
(#) glaci válasza Bakman hozzászólására (») Jan 7, 2019 /
 
Igazad lehet, a bevitt adat kg-ként kerül be, ami lehet akár dkg is és nem kell a tizedes tört. Ezt még tovább gondolom.
(#) jdani hozzászólása Jan 7, 2019 /
 
Üdv. Nemigen megy az angol, a fordító meg értelmetlenséged ad csak.
Lenne egy EEPROM, hogy kell használni a WP?
Mikor nem lehet írni, ha a WP a minuszra, vagy a plusszara csatlakozik?
(#) Bakman válasza glaci hozzászólására (») Jan 7, 2019 /
 
Ha a bevitt adat pl. 12,55 kg, akkor 1255 -öt használsz a számításoknál, majd a végén kiírod az eredményt úgy, mintha az tizedes tört lenne. Pl.:

1255 * 3 = 3765 (kiíratod a kijelzőre: 37.65)
(#) glaci válasza Bakman hozzászólására (») Jan 7, 2019 /
 
Ok! Megértettem! Bár az a helyzet, hogy mivel már eddig eljutva a programban, sok mindent újra kell gondolni és változtatni, meg újra írni elég sok munka.
De mint előbb írtam, gondolkodok rajta, mindenesetre köszi a gondolatfelvetést.
(#) proli007 válasza jdani hozzászólására (») Jan 7, 2019 /
 
Hello! A WP felett ott a felülvonás, ami a negálás jele. Tehát akkor hat ("igaz"), ha a bement alacsony szintű. Avagy "L" szinten védelem van, "H" szinten pedig írható az eszköz.
(#) jdani válasza proli007 hozzászólására (») Jan 7, 2019 /
 
Azt írják, hogy a programot úgy kell beleégetni az EEPROMba, hogy használni kell a WP opciót. (Több helyen úgy olvasom, hogy ezt a PC szoftverében kell kipipálni, és úgy írni)
Én ezt a funkciót nem találom. De végülis nem ugyanazt érem el, ha felprogramozom az EEPROMot, majd használatkor a 3as WP lábát összekötöm a 4es GND lábávan?
(#) jdani válasza proli007 hozzászólására (») Jan 7, 2019 /
 
Közben most találtam meg a funckiót.
All block protected-et kellene választanom?
És amit az előbb írtam, az egyenértékű? (hogy szoftverba választom, vagy a két lábat kötöm össze)
A hozzászólás módosítva: Jan 7, 2019

11.JPG
    
(#) Hp41C válasza jdani hozzászólására (») Jan 7, 2019 /
 
Az AT25080 adatlapjából: Bővebben: Link
Idézet:
„The WRSR instruction also allows the user to enable or disable the write protect (WP) pin through the use of the Write Protect Enable (WPEN) bit. Hardware write protection is enabled when the WP pin is low and the WPEN bit is “1”. Hardware write protection is disabled when either the WP pin is high or the WPEN bit is “0”. When the device is hardware write protected, writes to the Status Register, including the Block Protect bits and the WPEN bit, and the block-protected sections in the memory array are disabled. Writes are only allowed to sections of the memory which are not block-protected.
NOTE:
When the WPEN bit is hardware write protected, it cannot be changed back to “0”, as long as the WP pin is held low.”


Ha az a cél, hogy a memória tartalmát ne lehessen megváltoztatni a cél rendszerben, a WPEN legyen 1, az összes blokk legyen írásvédett. Ekkor a STATUS regiszter WPEN bitje nem írható mindaddig, amíg a WP láb alacsony szinten van. WP legyen GND -re kötve.
A hozzászólás módosítva: Jan 7, 2019
(#) jdani válasza Hp41C hozzászólására (») Jan 8, 2019 /
 
Ha jól értem, akkor a képen látható módon ha felprogramozom az eepromot, akkor az eszköz amibe használni fogom, át tudja majd írni, hiába a WP GNDre van kötve?
Ahoz hogy az eszköz ne tudja átirni a tartalmát, ahoz ki kell választanom programozásnál a bal oldalról az.,,all block protected,, és jobb oldalról a ,, WPEN=1,,et. Ezek után ha az eszközbe forrasztom, és a WPt a GNDvel kötöm össze, akkor az eszköz nem tudja már változtatni az eeprom tartalmát?
(#) Hp41C válasza jdani hozzászólására (») Jan 8, 2019 /
 
Programozás alatt a WP legyen magas szinten, a készülékben a WP legyen alacsony szinten.
(#) jdani válasza Hp41C hozzászólására (») Jan 8, 2019 /
 
Amire a választ még most se tudom. Programozásnál válasszam ki az all block protected, és a WPEN 1-et?
(#) Hp41C válasza jdani hozzászólására (») Jan 8, 2019 /
 
Igen.
(#) usane hozzászólása Jan 8, 2019 /
 
Üdv!

Pic24FV32KA301

Programming...
configuration memory
Address: f8000c Expected Value: 7f Received Value: ff
Failed to program device

Ez az első ami ilyesmivel szivat, és nem tudom miért.
Hacsak nem döglött meg beforrasztás közben.

szerk: Megoldottam. Ebben a picben nincs LVP és be kellett kapcsolnom "use high voltage on MCLR" opciót.
Ami érdekes, hogy sosem használtam az LVP-t és eddig nem okozott problémát.
A hozzászólás módosítva: Jan 8, 2019
(#) usane válasza usane hozzászólására (») Jan 8, 2019 /
 
Még egy gondolatot hozzáfűzve, ezt 5V-on járatom, és általában 3.3V-ot szoktam használni, de nem hiszem, hogy ez okozna különbséget.
(#) usane válasza usane hozzászólására (») Jan 8, 2019 /
 
Hm. A korábbi PIC32-esemben sincs LVP és ott nem adja be ezt az opciót az MPlab.
(#) Hp41C válasza usane hozzászólására (») Jan 8, 2019 /
 
Idézet a PIC24FV32KA301 programozási leírásából (DS39919):
Idézet:
„VIHH Programing Voltage on VPP: Min: VDD + 1.5 max: 9 V”

Az 24FV és a dsPIC33EV család 5V -ról megy, a többi (24FJ, 32MX) 3.3V -ról. Ennél a családnál a tápfeszültségnél magasabb szint kell a MCLR lábon a programozáshoz (HVP).
(#) usane válasza Hp41C hozzászólására (») Jan 8, 2019 /
 
Ezzel nincs is baj, azt nem értettem miért nem kezelte le az MPlab automatikusan, ha eddig ahol volt LVP és nem használtam nem kellett hozzányúlnom. Vagy azt kihámozta a kódból , hogy ki van kapcsolva itt meg nincs kódban? Ez az ami nem világos.
(#) usane válasza Hp41C hozzászólására (») Jan 9, 2019 /
 
Jól látom, hogy ezt nem tudom meghajtani hardveres SPI-vel?
(#) Hp41C válasza usane hozzászólására (») Jan 9, 2019 /
 
Mire gondolsz?
PIC24FV32KA301: Van benne 2 SIP modul, de csak egy SS láb van (SS1).
(#) usane válasza Hp41C hozzászólására (») Jan 9, 2019 /
 
Csak nem tudtam mmég működésre bírni és nem tudoom miért. Az időzítéseit néztem miszerint 20ns kell beálláshoz a felfutó órajel előtt, stb, de közben olvastam a neten, hogy arduinoval is hajtották meg hardveresen, szóval vagy cserélhetem, vagy a kódban van még valami. Épp debuggolom.
(#) usane válasza Hp41C hozzászólására (») Jan 9, 2019 /
 
Javíts ki ha tévedek de ennek a TPIC-nek úgy kellene működnie, hogy kiküldöm az adatot az SPI-n, ki ketyegteti, aztán adok egy órajelet a RCKL lábra és átadja a D tárolónak, és ha az OE alacsony akkor nyit a kimeneti tranyó. Na próbáltam kitolni az adatokat több frekvencián is (30kHz-1MHz-ig) és kiadtam az RCLK-ra az 1 db órajelet (változó impulzushosszokat próbálva), az OE azaz a G láb folyamatosan alacsonyan van tehát amint kimegy az impulzus az RCLK-ra kéne látnom a kimeneten valamit. Na nem változik a kimenet.
(#) Hp41C válasza usane hozzászólására (») Jan 9, 2019 /
 
Ezen adatlap alapján:
SER_IN (3) SPI adatbemenet, SRCK (13) az SPI órajel. A SRCLR (8) törlőjelet magas szinten kell tartani. Az adatcsomag végén a RCK (12) felfutó éle átírja az adatot a léptető regiszterből a kimeneti regiszterbe. Ha G (9) alacsony, akkor a kimeneti regiszter aktuális tartalma megjelenik a kimeneteken DRAINx. A SER_OUT kimeneten a léptető regiszter utolsó bitje lép ki (független a G -től) a kaszkádosításhoz.
(#) usane válasza Hp41C hozzászólására (») Jan 9, 2019 /
 
Pontosan. Hasonlóan mint a 74HC595 chip. Ha ki-be kapcsolgatom néha jó, néha nem. Még egyszer átnézem a nyákot is, de azt jónak mértem. Lehet a chipet kell cserélni?

szerk: 1 dolog nem világos.
Van ott egy szkóp ábra a bemeneti jelekkel. A kimeneten miért csak az SRCLK következő felfutásánál kezd áram folyni és nem egyből a RCLK felfutó éle után.
A hozzászólás módosítva: Jan 9, 2019
(#) eSDi válasza usane hozzászólására (») Jan 9, 2019 /
 
Ha jól látom, akkor ezt ugyan úgy kell, mint a HC595-öt.
Nekem ilyen beállítások mellet, az vígan megy (16F819 @ 8MHz):
  1. SSPSTAT.SMP = False                                                                                                                                    
  2. SSPSTAT.CKE = True  
  3. SSPCON.WCOL = False  
  4. SSPCON.CKP = False  
  5. SSPCON.SSPM3 = False
  6. SSPCON.SSPM2 = False
  7. SSPCON.SSPM1 = True
  8. SSPCON.SSPM0 = False
  9. SSPCON.SSPEN = True


És ez a küldés (kettő van felfűzve):
  1. SSPBUF = OutputData.HB
  2. While PIR1.SSPIF = 0
  3.        ASM:        nop
  4. Wend
  5. PIR1.SSPIF = 0  
  6. SSPBUF = OutputData.LB
  7. While PIR1.SSPIF = 0  
  8.         ASM:        nop
  9. Wend
  10. PIR1.SSPIF = 0  
  11. RCLK = True  
  12. WaitMs 1
  13. RCLK = False
A hozzászólás módosítva: Jan 9, 2019
(#) usane válasza eSDi hozzászólására (») Jan 10, 2019 /
 
A CKE miért 1?
(#) icserny válasza usane hozzászólására (») Jan 10, 2019 /
 
A Microchip a CKE bitet (az órajel fázisát kiválasztó bitet) más gyártókhoz képest fordított polaritással használja, így a CKP=0, CKE=1 beállítás felel meg a legáltalánosabban használt Mode 0,0 órajel módnak. Nem követtem a topikot, de gondolom erre vonatkozott a kérdés.
Következő: »»   1065 / 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