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   731 / 1210
(#) Bakman válasza nagym6 hozzászólására (») Dec 8, 2015 / 1
 
Alapvetően a K típus jobb, mint a J, de ez nem ilyen egyszerű, mert kb. 1000 paraméter közül lehet választani összehasonlításhoz. Pl.: Bővebben: Link.
(#) nagym6 hozzászólása Dec 8, 2015 /
 
Köszönöm mindenki segítségét, azt hittem egyszerűbb a különbség. Tehát adatlapba alapos belebújás kell.
(#) Pali79 hozzászólása Dec 8, 2015 /
 
Urak!
Szerintetek gyökvonást hogyan lehet megvalósítani 16F vagy 18F PIC-en?
(#) Hp41C válasza Pali79 hozzászólására (») Dec 8, 2015 /
 
... Itt ...
(#) foxi63 válasza Pali79 hozzászólására (») Dec 8, 2015 /
 
Szia!
Beüthetnéd te is a GOOGLI-ba....

tb040a.pdf
    
(#) Pali79 válasza Hp41C hozzászólására (») Dec 8, 2015 /
 
Köszi! Én nem tudtam bejutni az oldalra... Mindig azt írta, hogy spam robot vagyok...
(#) lokátoros válasza Pali79 hozzászólására (») Dec 8, 2015 /
 
Szia,
Sokféleképpen lehet, például a Newton féle iterációval, de szerintem ehhez komolyabb kontroller kellene, mert elég sokat kell szorozni és osztani lebegőpontos számokkal.

xn+1 = 1/2*(Y/xn + xn)
Keressük Y gyökét, első lépésben vegyünk fel egy tetszőleges X számot, majd a kapott eredménnyel végezzük el újra és újra az iterációt, amíg az eltérés xn+1 és xn között a kívánt pontosságon belül marad.
(#) Pali79 válasza foxi63 hozzászólására (») Dec 8, 2015 /
 
Ezt megtaláltam én is, de első ránézésre nagyon hosszú a kód, gondoltam hátha van rövidebb megoldás is.
(#) nagym6 válasza lokátoros hozzászólására (») Dec 8, 2015 /
 
Ez hasonló a fokozatos közelítés elvhez?
(#) lokátoros válasza nagym6 hozzászólására (») Dec 9, 2015 /
 
Igen.
(#) KaiserA hozzászólása Dec 9, 2015 /
 
Sziasztok!
Van egy MMA8452Q típusu gyorsulásérzékelő szenzorom. és a kijelző 255-öt ír kí, és nem változik semmi, és nem tudom mi lehet a baj. Az SA0-ás láb földön van tehát, nekem a device addresse: 0x38 és 0x39.
Mi lehet a probléma? a fájlban van a kód.
MMA8452Q
Köszönöm

MMA8452Q.txt
    
(#) icserny válasza KaiserA hozzászólására (») Dec 10, 2015 /
 
A 0x38 és 0x39 nem a "device address", hanem a kiküldendő írás/olvasás parancsbájtok. De ez csak szóhasználati probléma, ettől még működhetne a program.

Azt nem tudom, hogy olvasás előtt nem kell-e konfigurálni vagy engedélyezni a modult, ennek nézz utána!

Az 0x1C regisztercímmel nem értem, hogy mit akarsz kezdeni, mert az adatlap szerint a 0x19 - 0x1C címtartomány reserved, tehát nem tartozik hozzá regiszter. Próbához a 0x0D (WHO_AM_I) regiszter olvasása hasznosabb volna (0x2A a hivatalos válasz).
(#) KaiserA válasza icserny hozzászólására (») Dec 10, 2015 /
 
Szia!
Köszönöm a segítéged! Tehát ha a Who_Am_I-t olvasom ki, akkor 0x2A-t kell kapjak a kijelzőn?
Annyira nem vagyok profi a programozásban, hogy pl azt se tudom. Ha azt irja az adatlap, hogy a CTRL_REG1 utolsó bitjét állítsam 1-be, akkor kerül aktív modba, akkor azt C32-es forditoval, milyen parancsokkal kell megvalósitani, vagy akármilyen ilyen bit beállítást?

Köszönöm szépen!
(#) Balagemann2031 hozzászólása Dec 10, 2015 /
 
Sziasztok! Szeretnék ASM30-alatt hordozható programkódokat, rutinokat csinálni. Valaki le tudná írni mi ennek a menete? Miként mentsem a kódrészletet, illetve, hogyan kell beilleszteni egy új projektbe? Az ASM 30 angol pdf-jét böngészem, de sajna angol tudásom nem elégséges. A segítséget előre is köszönöm!
(#) Pali79 válasza Balagemann2031 hozzászólására (») Dec 10, 2015 /
 
Szia! Nem tudom egyre gondolunk-e, illetve az ASM30-at nem nagyon ismerem, de szerintem az INCLUDE kell neked. Nézd meg a "gyári" include fájlokat, hogy miként vennek felépítve. A programod elején beilleszted és onnantól működnie kell. Ha egyre gondolunk...
(#) Balagemann2031 válasza Pali79 hozzászólására (») Dec 10, 2015 /
 
Szia! Sajnos nem ezen akadtam el. Igazából nem is az hogy elakadtam, csupán szeretném a már jól bevált inicializációkat, vagy rutinjaimat külön fájlként becsatolni amikor kell.
(#) icserny válasza KaiserA hozzászólására (») Dec 10, 2015 /
 
Idézet:
„akkor 0x2A-t kell kapjak a kijelzőn?”
Ezt írja az adatlap.

Idézet:
„milyen parancsokkal kell megvalósitani, vagy akármilyen ilyen bit beállítást?”
Az I2C kezelő Microchip függvényeket nem ismerem és egyébként sem értek egyet vele, hogy az elavult, csak kompatibilitásből megőrzött függvényeket használod a Peripheral Library Help-ben leírtak helyett. De ha odáig eljutottál, hogy a 0x2A-t sikerült kiolvasni a WHO_AM_I regiszterből, akkor ez a szekvencia kell:
  1. MasterWriteI2C1(0x38);            // device address<<1 | WRITE
  2. MasterWriteI2C1(0x2A);            // CTRL_REG1 register address
  3. MasterWriteI2C1(data);            // register data: 0x01 vagy ami kell...

A Start/Stop körítést természetesen itt nem részleteztem.

Egy Arduino mintapélda itt található, lehet belőle okosodni. A letiltást/engedélyezést pl. úgy kellene csinálni, hogy kiolvasod az előzőleg beállított CTRL-REG1 tartalmát, és a legalsó bitjének módosítása után visszaírod. Természetesen mindezt RAM-ban is tárolhatod, akkor egyszerűbb a visszaolvasás...
(#) sonajkniz válasza Balagemann2031 hozzászólására (») Dec 10, 2015 /
 
Erre az ifóra én is beneveznék. Csak épp MPLab X alatt.
(#) Pali79 válasza Balagemann2031 hozzászólására (») Dec 10, 2015 /
 
Erről beszélek én is.
Létre van hozva egy m_bank.asm az alábbi tartalommal:
  1. BANK0   macro                   ; Select register BANK 0
  2.         bcf     STATUS,RP0
  3.         bcf     STATUS,RP1
  4.         endm
  5.        
  6. BANK1   macro                   ; Select register BANK 1
  7.         bsf     STATUS,RP0
  8.         bcf     STATUS,RP1
  9.         endm
  10.  
  11. BANK2   macro                   ; Select register BANK 2
  12.         bcf     STATUS,RP0
  13.         bsf     STATUS,RP1
  14.         endm
  15.  
  16. BANK3   macro                   ; Select register BANK 3
  17.         bsf     STATUS,RP0
  18.         bsf     STATUS,RP1
  19.         endm


A program elején becsatolom:

  1. #include "m_bank.asm"


A programban meghívom a "BANK1' makrót mint bármelyik másik makrót és azt hajtja végre ami a csatolt fáljban BANK1 makróként szerepel.

Ez Topi cikkéből van.
A hozzászólás módosítva: Dec 10, 2015
(#) Balagemann2031 válasza Pali79 hozzászólására (») Dec 10, 2015 /
 
Na igen tényleg ez lesz az akkor, viszont én 24H-s picre írnék progit, ASM30 alatt és ott érdekelne főleg ez a beillesztéses. De utánnanézek próbálgatom.
(#) Pali79 válasza Balagemann2031 hozzászólására (») Dec 10, 2015 /
 
Azért mondtam, hogy azt nem ismerem, de szerintem ennek működni kell ott is. Gondolom a "gyári" include fájlt ott is meg kell adni.
A hozzászólás módosítva: Dec 10, 2015
(#) atiotezer hozzászólása Dec 10, 2015 /
 
Sziasztok

Valaki tudna létrehozni egy project fájlt MPLAb IDE-ban, hogy tudjam szerkeszteni és ne kapjak hibaüzenetet.
PIC18F2580 a PIC

A mellékletben van a C fájl.

Előre is köszönöm.

LCD-s.c
    
(#) atiotezer válasza atiotezer hozzászólására (») Dec 10, 2015 /
 
studio.h fájt hiányol a program. Azt honnan lehet megszerezni?
(#) Hp41C válasza Pali79 hozzászólására (») Dec 10, 2015 /
 
Miért nem felel meg a jó öreg banksel????
Működne midrange, enhanced midrange, 18F stb kontrollereken --- és még olvashatóbb is....
Vesd össze:
16F628 -on:
  1. bank1
  2. clrf EEADR
  3. bsf EECON1,RD

16F88 -on
  1. bank2
  2. clrf EEADR
  3. bank3
  4. bsf EECON1,RD

Ezzel szemben mindkét kontrolleren:
  1. banksel EEADR
  2. clrf EEADR
  3. banksel EECON1
  4. bsf EECON1,RD


Avagy készítsek 32 makro -t a 16F1827 (stb) -hez?
  1. ebank3
  2. clrf EEADRL
  3. ebank8
  4. movwf T4CON

helyett
  1. banksel EEADRL
  2. clrf EEADRL
  3. banksel T4CON
  4. movwf T4CON
A hozzászólás módosítva: Dec 10, 2015
(#) atiotezer válasza atiotezer hozzászólására (») Dec 11, 2015 /
 
conio.h ezt hiányolja nem a studio.h fájlt
(#) apromax hozzászólása Dec 11, 2015 /
 
Slave SPI megoldást szeretném használni dsPIC33FJ128GP804 en.
A Slave Select Pin -nel gyűlt meg a bajom.
Egyfelől nem létezik a PIC lábai közt miközben a leírásban hivatkoznak rá.
Idézet:

The serial interface consists of 4 pins:
• SDIx (serial data input)
• SDOx (serial data output)
• SCKx (shift clock input or output)
• SSx (active-low slave select).

Idézet:

bit 7 SSEN: Slave Select Enable bit (Slave mode)(3)
1 = SSx pin used for Slave mode
0 = SSx pin not used by module. Pin controlled by port function

Azt is látom hogy az SS port használata opcionális:
Idézet:

If the Slave Select Enable bit (SSEN) is set transmission and reception are enabled in Slave mode only if the SSx pin is driven to a low state.
If the SSEN bit is not set, the SSx pin does not affect the module operation
in Slave mode.

A fentiek alapján két kérdésem volna.
Miért nem létezik az SS pin az eszközön, mikor a doksi szerint van rajta.
Másik kérdésem pedig az, hogy SS nélkül hogyan tud működni az SPI busz slave eszköze?
A hozzászólás módosítva: Dec 11, 2015
(#) Pali79 válasza Hp41C hozzászólására (») Dec 11, 2015 /
 
Félreértesz! Én nem a bankváltásra gondoltam, mint követendő példa, hanem az include fájlok alkalmazására.
(#) csdancsi55 hozzászólása Dec 11, 2015 /
 
Sziasztok! Szeretnék pic-et forrasztani, de nincs nyomtatott áramköröm, és megszeretném kérdezni hogy hogyan tudnám forrasztani hogy ne érjenek össze a lábai.
(#) apromax válasza apromax hozzászólására (») Dec 11, 2015 /
 
Hát igen, első kérdésemre hogy hol van az SS pin megvan a válasz.
Nem is értem miért nem kerestem a remappelhetők között.. Pedig ott más kapcsán sokat kutakodtam. Szóval ezt benéztem tényleg,,
Azonban az SS nélküli Slave működés még érdekelne.
Például honnan tudja a PIC mikor kell nagy impedanciás állapotba hoznia SDO -t, vagy hogy mikor érkezett neki adat a buszon.
A hozzászólás módosítva: Dec 11, 2015
(#) Hp41C válasza csdancsi55 hozzászólására (») Dec 11, 2015 /
 
Melyik PIC -ről és milyen tokozásról van szó?
Következő: »»   731 / 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