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   860 / 1203
(#) Pali79 válasza Zsora hozzászólására (») Okt 8, 2016 /
 
Igaz, nem kellett volna a "minden", de 16F628-at kérdezett, úgyhogy végülis nem vezettem félre.
(#) don_peter hozzászólása Okt 9, 2016 /
 
Srácok, PIC32MX795-el USB-zem.. Van olyan függvény vagy valami változó aminek vizsgálatával tudom figyelni, hogy mikor van bedugva az USB?
Előre is köszi..

ui: 2012-es USB stack-et használok..
A hozzászólás módosítva: Okt 9, 2016
(#) Tasznka válasza don_peter hozzászólására (») Okt 9, 2016 /
 
A Vbus láb oda van kitalálva(device).Host-nál 1 picit más,bár azt még nem próbáltam.Ha micros stack-et használsz,abban benne kellene lennie.Én a cdc,hidat próbáltam,simán mentek.
(#) don_peter válasza Tasznka hozzászólására (») Okt 9, 2016 /
 
VBUS láb sajna nem jó..
Helyette ezt használom most, bár az első init-nél nem jól fut le..
  1. if(USBDeviceState == CONFIGURED_STATE){
(#) icserny válasza don_peter hozzászólására (») Okt 9, 2016 / 1
 
Amit eredetileg kérdeztél az a "connected state", de azt más módon nem tudod vizsgálni, csak a VBUS figyeléssel. Az általad említett CONFIGURED_STATE az állapotok listájának a "túlsó végén" van (amikor már lezajlott az enumeráció).

A PIC32MX795F512L PIM modul (és az Explorer 16 kártya) eseténe a gyári demókban a PORTB RB5 bitje szolgál a VBUS figyelésére. A main.c elején a kommentekben írják le, hogy ezt miért kell figyelni (VBUS-ra keress rá!).

Ugyanott írják, hogy ha a PIC kettős táplálású (bus powered vagy self powered is lehet), akkor a saját tápfeszt is figyelni kell, mert a Getstatus() lekérdezésre válaszul meg kell tudni adnia a firmware-nek, hogy self- vagy bus powered módban vagyunk. (PORTA RA2 bit-et használja, ha a harware profilban USE_SELF_POWER_SENSE_IO definiálva van).

Ezek a figyelések (USE_SELF_POWER_SENSE_IO, USE_USB_BUS_SENSE_IO) a gyári demókban alapértelmezetten nincsenek bekapcsolva (ki vannak kommentálva, tehát vedd ki a sor eleji komment jeleket - ha kellenek!):
  1. //#define USE_SELF_POWER_SENSE_IO
  2.  #define tris_self_power     TRISAbits.TRISA2    // Input
  3.  #define self_power          1
  4.  
  5.  //#define USE_USB_BUS_SENSE_IO
  6.  #define tris_usb_bus_sense  TRISBbits.TRISB5    // Input
  7.  #define USB_BUS_SENSE       1
A hozzászólás módosítva: Okt 9, 2016
(#) don_peter válasza icserny hozzászólására (») Okt 10, 2016 /
 
Itt arról van szó, ha használom az USB-t, akkor pl. RB5 magas szintre kerül?
(#) don_peter válasza don_peter hozzászólására (») Okt 10, 2016 /
 
De azt is látom, hogy ezek inputok, de nekem ezeken a lábakon nincs semmi..
  1. //#define USE_SELF_POWER_SENSE_IO
  2. #define tris_self_power     TRISAbits.TRISA2    // Input
  3. #define self_power          1
  4.  
  5. //#define USE_USB_BUS_SENSE_IO
  6. #define tris_usb_bus_sense  TRISAbits.TRISA0    // Input
  7. #define USB_BUS_SENSE       1

Nekem ezek voltak definiálva..
De most átírom RB5-re..
(#) pajti2 válasza don_peter hozzászólására (») Okt 10, 2016 /
 
Menet közben azt se felejtsd el, hogy ezek nem absztrakt dolgok, hanem áramkörileg támogatottak. Írtad, hogy 2012-es libet használsz, és írnod kellett volna azt is, hogy milyen hardvert. A válasz ugyanis a kapcsolási rajzban van.
(#) don_peter válasza pajti2 hozzászólására (») Okt 10, 2016 /
 
Igaz ezt sejtettem, de reméltem, hogy belül állítgatja a bitet
Áramkörileg nincs felkészítve erre, szoftveresen kell megoldjam.
(#) icserny válasza don_peter hozzászólására (») Okt 10, 2016 /
 
Amikor csatlakoztatod a külső táplálású mikrovezérlőt a PC USB csatlakozójához, akkor (a korábban belinkelt példában) RB5 magas szintre kerül. Ehhez természetesen a hardvert úgy kell kialakítani, hogy a VBUS 5 V-ja eljusson a kiszemelt lábra.

Ügyelni kell arra is, hogy 5V-ot toleráló lábat használj erre a célra!
(#) Hp41C válasza icserny hozzászólására (») Okt 10, 2016 /
 
Arról is gondoskodni kell, hogy ha nincs meg a kontroller saját tápellátása és az USB kapcsolat csatlakoztatva marad ne ez a láb lássa el a kontrollert árammal. Valamint ne lebegjen a láb, ha nincs meg az USB kapcsolat.
(#) pajti2 válasza don_peter hozzászólására (») Okt 10, 2016 /
 
Idézet:
„Áramkörileg nincs felkészítve erre, szoftveresen kell megoldjam.”
Akkor marad a workaround: a sikeres config visszajelzést használni fel.
(#) Elpaso hozzászólása Okt 10, 2016 /
 
Sziasztok, kezdõ PIC hasznàlóként azt kéne megcsinàlnom, hogy pl egy mikrofonba koppintok kettõt, a hangszórón dupla annyi koppintàs hangozzon el. Ehhez esetleg valami megoldàsotok, ötletetek ? Esetlegesen egy piezo hangszóróval ez megoldható lenne ?
(#) bbalazs_ válasza Elpaso hozzászólására (») Okt 10, 2016 /
 
Az a legkevesebb, hogy mivel csinalsz hangot. A fo kerdes a feladat pontos definialasa. Pl: elobb koppintasz es utana varod a hangot (menyi ido telhet el a te ket koppintasod kozott, van-e elmeleti felso hatar a szamban?) vagy a te elso kopintasod utan mar kezdje el a sajat duplazott koppintasait, kozben figyelje a te tovabbi koppintasaidat. A koppintast is definialnod kell, mennyire eros utest tekintesz koppintasnak, a gepi koppintas lehet-e rovidebb, mint a tied volt es igy tovabb.
(#) Elpaso válasza bbalazs_ hozzászólására (») Okt 11, 2016 /
 
Igazából teljesen szabad kezet kaptam, úgy gondoltam ha meglehet csinálni, megadom a határokat, hogy mitől számítson koppintásnak a piezon, ezt feldolgozza és duplán visszajátssza a hangszóróra, késleltetéssel, vagy akár gomblenyomással. Ha ezt így meglehet csinálni, szerintem ez lenne a legegyszerűbb.
Gondolkoztam még ISD IC-n de ahogy utánaolvastam azt sokkal bonyolultabban lehetne megvalósítani.
(#) aroxol hozzászólása Okt 11, 2016 /
 
Sziasztok!

Az eprom olvasás már megy változóba, de hogy lehet file regiszerbe írni 20 karaktert egyszerre egymás után? Egy szöveget szeretnék átmásolni.
  1. movlw 0x00
  2.         movwf EEADRH                                                   
  3.         MOVLW 0x0F
  4.         MOVWF EEADR
  5.         bcf EECON1,6
  6.         BCF EECON1,7
  7.         BSF EECON1,0                   
  8. OLVAS
  9.         BTFSC EECON1,0
  10.         bra OLVAS
  11.         MOVF EEDATA,w          
  12.         movwf valtozo
  13.         CLRF EEADRH
  14.         RETURN
(#) Hp41C válasza aroxol hozzászólására (») Okt 11, 2016 /
 
FSR -be tölteni a kezdőcímet, az adatokat az INDF -be írni, majd növelni / csökkenteni az FSR értékét a határra figyelni.
(#) aroxol válasza Hp41C hozzászólására (») Okt 11, 2016 /
 
Erre gondoltam én is csak nem áll rá a logikám.
(#) Pali79 válasza aroxol hozzászólására (») Okt 11, 2016 /
 
(#) aroxol hozzászólása Okt 11, 2016 /
 
Valamiért az eepromot nem akarja léptetni.
  1. movlw 0x03
  2.         movwf EEADRH                                                   
  3.         MOVLW 0x00
  4.         MOVWF EEADR
  5.         bcf EECON1,6
  6.         BCF EECON1,7
  7.         BSF EECON1,0                   
  8.         movlw   d'50'
  9.         movwf   szamlalo1      
  10.         LFSR 1,1A0H
  11. OLVAS
  12.         BTFSC EECON1,0
  13.         bra OLVAS
  14.         MOVF EEDATA,w          
  15.         movwF  INDF1
  16.         INCFSZ FSR1L
  17.         INCFSZ  EEADR,F
  18.         decfsz  szamlalo1      
  19.         BRA OLVAS
  20.         CLRF EEADRH
  21.         RETURN
(#) benjami válasza aroxol hozzászólására (») Okt 11, 2016 /
 
Jó, hogy nem lépteti, ha az eepromot csak egyszer olvasod ki az elején.
(#) aroxol válasza benjami hozzászólására (») Okt 11, 2016 /
 
A INCFSZ EEADR,F miért nem jó?
(#) benjami válasza aroxol hozzászólására (») Okt 11, 2016 /
 
Azzal csak a címet állítod be, az olvasáshoz az EECON1 regisztert kell birizgálni (megjegyzem ha nem EECON1, 6 és hasonló módon írnád le, hanem a bitet is a nevén neveznéd érthetőbb lenne a program).
(#) aroxol válasza benjami hozzászólására (») Okt 11, 2016 /
 
Megírnád hogy gondold? Már 2 órája küzdök vele, nem tudok rájönni.
(#) Pali79 válasza aroxol hozzászólására (») Okt 11, 2016 /
 
Ha van egy olvasó rutinod ami jól működik, akkor a léptetést azon kívül csináld! Tehát a címnek először beállítasz 0-t végig megy az olvasó rutin az eredmény W-ben, ezt teszed mondjuk a 0x20 helyre. Aztán INCF EERADRH, megint végigmegy az egész olvasás ciklus, eredmény W-ben, lépteted az először beállított címregisztert és oda másolod a W-t.
Ettől egyszerűbben már csak úgy tudom ha megírom neked....

Pontosan melyik PIC-kel dolgozol?
A hozzászólás módosítva: Okt 11, 2016
(#) aroxol hozzászólása Okt 11, 2016 /
 
Köszönöm! Sikerült a hsz-ed alapján.
(#) Pali79 válasza aroxol hozzászólására (») Okt 11, 2016 /
 
Használd a "Válasz" gombot!
A hozzászólás módosítva: Okt 11, 2016
(#) cmdnetwizard hozzászólása Okt 12, 2016 /
 
Sziasztok!

Nem találtam erre ennél megfelelőbb témát, szóval ide vetném fel a kérdésemet.

Tudtok olyan PIC-et ajánlani, aminek az alacsony lábszáma mellett van 2 UART-ja (2xRx, 2xTx), valamint 8 bites, és a PicKit 2 is tudja programozni?
Valamint előny, ha egyszerűen beszerezhető (HEStore, ChipCad)

Előre is köszönöm a segítséget!

Ui.: A Microchip MAPS-jával nemigazán boldogultam
(#) nedudgi válasza cmdnetwizard hozzászólására (») Okt 12, 2016 /
 
Tervezik a 14 lábú 16F53xx kontrollereket, nem tudom, van-e már minta belőle.
28 lábú a K22, J50, J11 sorozatban létezik.
Ha a időben elkülöníthető a forgalmazás, akkor akár a PIC12F1822 (8 lábbal) soros portja átirányítható másik lábakra is. Ebben az esetben valamilyen protokollt kell megvalósítani, kérdezz, felelek alapon.
(#) cmdnetwizard válasza nedudgi hozzászólására (») Okt 12, 2016 /
 
És a K22, J50, J11 sorozatból tudsz erre példákat mondani? A két-két Rx-Tx-en kívül 4 IO-ra volna szükségem
Következő: »»   860 / 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