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   1148 / 1148
(#) slimcolt hozzászólása Szo, 19:45 /
 
Sziasztok,

Valaki segítene elmagyarázni, hogy PIC32-nél a megszakítás vezérlőnél, pontosan mire való a vector spacing? Sajnos nem bírom felfogni az adatlapból.
Gyakorlatban mi határozza meg a vector space-t, hogy mekkora legyen?
(#) slimcolt hozzászólása Szo, 20:19 /
 
Másik dolog:

PIC32MM-ben megszakításként szeretném kezelni a UART RX-et, sikerült beállítani, működik.
Jelenleg URXISEL = 0 beállítással működik.
De elméletileg a hardvernek 8 szintű RX FIFO-ja van és én ezt szeretném használni, hogy ne legyen annyi megszakítás az adatok érkezése közben.
Ha az URXISEL-t átállítom 0b01-re, hogy akkor kapjak megszakítást ha a buffer már legalább félig megtelt, akkor nem sikerül értelmesen kiolvasnom az adatokat.

a megszakítási rutinom ebben az esetben:

  1. void __ISR(_UART2_RX_VECTOR, IPL6SOFT) UART_RX_Interrupt(void)
  2. {
  3.     while(U2STAbits.URXDA) // amíg van adat a bufferben
  4.     {
  5.         UART_RX_BUFF[UART_RX_CNT++] = U2RXREG; // kiolvasás
  6.     }
  7.     IFS1bits.U2RXIF = 0;
  8. }


Az adatokat pedig innen szedegetem ki:

  1. uint8_t UART_RX_DATA(void)
  2. {
  3.     while(UART_RX_CNT == 0);
  4.     UART_RX_CNT--;
  5.     return UART_RX_BUFF[UART_RX_CNT];
  6. }


Hogy kell ezt a hardveres FIFO-t használni normálisan?
A hozzászólás módosítva: Szo, 20:21
(#) bitmixer hozzászólása Vas, 15:53 /
 
Sziasztok!
PIC16F871 (de 16F684 típussal is előfordult) PicKit2 általi első kiolvasásakor a programmemória 0 címén hamis dolgot mutat, jellemzően 0x2585 értéket. Ha ilyenkor a jó hex-et ráégetem a csipre, majd rögtön kiolvasom, akkor jó. Ha viszont a Tools menüből csinálok Check Communication-t, majd újra olvasok, akkor újra hamisat olvas. Ilyenkor valóban az is van benne, mert a progi nem működik. Több csippel is ugyanez a helyzet, valamint egy másik PicKit2-vel is. Találkoztatok már ilyen hibával? Kösz, üdv.
(#) Bakman válasza bitmixer hozzászólására (») Vas, 16:01 / 1
 
Rémlik valami, mintha a Tools menü -> Fast Programming kikapcsolása segített volna a dolgon.
(#) bitmixer válasza Bakman hozzászólására (») Hé, 16:28 /
 
Kösz az ötletet, kipróbáltam. Tegnap úgy tűnt, hogy bevált, de ma újra többször előfordult a hiba, pedig a Fast P végig ki volt kapcsolva... leginkább Tools > Check Comm után jön elő. Rendszert nem tudtam benne felfedezni.
(#) Hp41C válasza bitmixer hozzászólására (») Hé, 16:35 / 1
 
El kell felejteni a Tools > Check Communication menüpontot.
Végigpróbálja az összes családot, addig amíg nem talál megfelelő kiolvasott azonosítót. Egy szakadt vagy nem jól érintkezővezeték, egy elkötés következménye az lehet, hogy egy alacsony feszültségű típust (PIC24, dsPIC30, dsPIC33, PIC32) megpróbál 12V Vpp -vel kiolvasni. Ez tönkre is teheti a kontrollert.
Javaslom a kézi típuskiválasztást és a kontrollerrel való kapcsolat ellenőrzésére a Read parancsot.
(#) bitmixer válasza Hp41C hozzászólására (») Hé, 16:51 /
 
Örök hálám, ha ez stabilan működik. Egyelőre úgy néz ki, hogy az eddigi háklis uC típusoknál sem hibázik, ha kézzel választom ki. Mindig tanul az ember
Következő: »»   1148 / 1148
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