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   800 / 1216
(#) usane válasza cross51 hozzászólására (») Máj 24, 2016 /
 
Hm. Már én is nézegettem ezt az apróságot, de még nem volt bátorságom, meg időm, kedvem közelebbről meismerkedni vele. Hogy érted az rx-tx programot, ez tudtommal SPI-s, vagy rosszul emlékszem?
(#) cross51 válasza usane hozzászólására (») Máj 24, 2016 /
 
Nem, jól emlékszel SPI-n megy fogtam két 18f14k22-est összekötöttem és a csak feléleszteni akartam egyik küldené a LED értékét a másik meg kapcsolgatná LED-et ez lenne az RX TX oldal mert az még egyenlőre nem érdekelt hogy adatirányt cserélni.
(#) usane válasza cross51 hozzászólására (») Máj 24, 2016 /
 
Szóval gondolom az SPI megy, a rádióösszeköttetés a baj, esetleg nem tudod írni az NRF-t?
Amikor ezt néztem akkor azt hiszem volt valami olyan, hogy nem teljesen az ajánlott beállításokkal működött. utána kéne nézni.
A hozzászólás módosítva: Máj 24, 2016
(#) sraczkovi válasza eSDi hozzászólására (») Máj 24, 2016 /
 
Köszi a segítséget ez az út volt az igazi. Mivel az MPLAB X IDE ben is beállítottam a Firmwaret Így az IPE ben az auto download firmware menü pontra kattintva a ledek színkavalkádja megmutatta,hogy a módosítás megtörtént. És az üzenőfalon is kiírásra került a firmware módosítása. Most már nem reklamál a program.
Köszi a segítséget
(#) don_peter válasza cross51 hozzászólására (») Máj 24, 2016 / 1
 
nRF8001-re már írtam programot, abban tudok segíteni.
nRF chipekhez van egy Win. program is amivel a rádió és egyéb beállításokat lehet elvégezni, ez a program utána legenerálja azt a struktúrát amely tartalmazza a chip össze szükséges beállítását.
Init közben csak ezeket be kell tölteni SPI-n és persze figyelni a válaszokat, aztán már megy is a dolog.
nRF-nél külön kell beállítani, hogy adó vagy vevő módban használod.
nRF8001-nél 32byte-os adat csomagokkal kell illetve lehet dolgozni, nem tudom, hogy a te típusoddal is így van e, minden esetre leírtam hátha rávezet valami megoldásra.
(#) usane hozzászólása Máj 25, 2016 /
 
Üdv!

Egy megerősítésre lenne szükségem. A timer 1 ki és bekapcsolása nem nullázza a timert igaz? Csak ha beírom közvetlen a regiszterekbe, illetve a CCP special event nullázza. Persze ki is próbálhatnám, de nem a saját gépemen vagyok, ide meg nem akarok mplabot telepíteni, csak textbe írok. PIC18-ról van szó, bár a timer1 szempontjából nem sok jelentősége van.
(#) Elektro.on válasza usane hozzászólására (») Máj 25, 2016 /
 
16f690 nél biztos, hogy nem nullázza. Külső engedélyezéssel órajellel számláltattam.
De ha a kikapcsolás nullázná szerintem nem sok értelme volna. Nem tudnád felhasználni a benne lévő adatot.
(#) usane válasza Elektro.on hozzászólására (») Máj 25, 2016 /
 
Én is így gondoltam. Mondjuk pont az ellenkezőjét szerettem volna elérni, vagyis valami gyors resetelést, de végülis nem érdekes, megteszi a regiszterbe írás. Most viszonz a kiolvasson gondolkozom. Gyorsklikkeket akarok számolgatni. A legjobb a capture module lett volna, csakhogy az klikk események IIC-n jönnek. Gondolkodtam szoftveres CCP esemény létrehozásán is csakhogy itt meg azt írja,
Idézet:
„If the CCP1 pin is configured as an output,
a write to the port can cause a capture
condition.”

Nos a CCP1 PIN az RC5-ön van, az RC port egy bitjét meg használja az IIC eszköz.
marad a manuális kiolvasás és nullázás.
(#) Hp41C válasza usane hozzászólására (») Máj 25, 2016 /
 
Idézet:
„Nos a CCP1 PIN az RC5-ön van, az RC port egy bitjét meg használja az IIC eszköz.”

Az SSP modul nem ír a portra a működése közben. Csak azt kell biztosítanod, hogy az RB7 írásakor nem változzon az RB5 szintje.
(#) usane válasza Hp41C hozzászólására (») Máj 25, 2016 /
 
Na igen, csak nem az SSP modul használja. Pic18F14k50. IIC az RB4-RB6-on van. Az RC5 arra van, hogy az eszköz jelzi, ha új adat van, mellesleg az RC6-ot meg az eszköz resetelésére használom. Csak 1 szabad helyem van a B porton szóval átrakni ssem tudom. Nem is érdekes, mert közben kiszámoltam, hogy max 300ms-os klikk időközzel számolva kb 7x átfordulna a T1 még 8-szoros prescalerrel is a 12 MIPS-en. Elég lesz ha a túlcsordulásokat számolom.

Viszont adódott egy újabb kérdés. Timer1 16 bites R/W módnál ezt írja:
Idézet:
„Writes to TMR1H do not clear the Timer1 prescaler.
The prescaler is only cleared on writes to TMR1L”


Kérdés, hogy ez 2x8 bites módban is megtörténik? Mármint a prescaler törlése.
(#) Hp41C válasza usane hozzászólására (») Máj 25, 2016 /
 
Idézet:
„If the CCP1 pin is configured as an output, a write to the port can cause a capture condition.”

Arra gondol, hogy az egész portra való írás változtatja meg az RB5 szintjét. Ha a LATB -t bitenként írod, szerinem csak akkor lesz tárolás (CCP capture), ha az RB5 -ön a kívált élet hozod létre. Más bitek írása nem fogja kiváltani.
(#) usane válasza Hp41C hozzászólására (») Máj 25, 2016 /
 
Ige, csak arra gondoltam, hogy a LAT regiszter is RMW működik, tehát ha ne történik változás azon a biten akkor is kiírja a bitet nem? De lehet, hogy igazad van és csak a megfelelő élváltást figyeli, a doksiból nem derül ki. Na mindegy, majd kipróbálom ha odajutok.
(#) cross51 válasza don_peter hozzászólására (») Máj 25, 2016 /
 
Amiket írtál az mind megvolt, ebben is 32 byte-os FIFO van, közben sikerült megoldani, úgy gondoltam, hogy a delay-ek hiánya okozta a problémát. Beleraktam a delay-eket és részről részre raktam össze és láss csodát működik. Aztán kivettem a delay-t és ugyanúgy ment, úgyhogy tanácstalanul állok/álltam mi lehetett a hiba, lehet elírtam valamit a kódban.
(#) Zsora válasza Hp41C hozzászólására (») Máj 25, 2016 /
 
A regisztereket csakis egészben (bájtosan) lehet írni (és olvasni), a bitmanipuláció RMW művelet, tehát egy komplett írás és olvasás történik. A megjegyzés arra utal, hogy a CCP1-nek megfelelő port lábat kimenetként konfigurálva, a bemenetet módosítja a port kimenete, ami így számlálást idézhet elő. (Magyarán: a CCP és a port funkció egymással párhuzamosan működik, hatással vannak egymásra.)

usane: igen, csak az élváltozás (az adott lábon) okozhat gondot.
A hozzászólás módosítva: Máj 25, 2016
(#) pompidu hozzászólása Máj 25, 2016 /
 
Sziasztok!

Egy gyors kérdésem lenne.
A csatolt kapcsolás alkalmas UART illesztésre 5V MCU - 3V3 RFID között (kétirányú)?
I2C szintillesztésre van kitalálva azért kérdezem.
A segítséget előre is köszönöm!
(#) Zsora válasza pompidu hozzászólására (») Máj 25, 2016 /
 
Igen, alkalmas.
(#) Zsora válasza Hp41C hozzászólására (») Máj 25, 2016 /
 
Bocsi az előző hozzászólásom miatt! Te is ugyanazt írtad mint én, csak kissé máshogy fogalmazva.
(#) pajti2 hozzászólása Máj 25, 2016 /
 
Közvélemény kutatás. Kinek tetszene az ötlet a jövő világában, ha javascriptben lehetne programozni a pic-eket?
(#) cross51 válasza pajti2 hozzászólására (») Máj 25, 2016 /
 
Hát nem akarok senkit megbántani, de szerintem ami java az katasztrófa. Én inkább arra szavaznék, hogy a gyengébb hardware-re is megjelenjen a c++ (jó a 32bit is csak néha kényelmesebb lenne egy 8 bitesre is).
(#) edison14 válasza pajti2 hozzászólására (») Máj 25, 2016 /
 
Szerintem már inkább valami normális és gyors IDE kellene és egy ingyenes C és C++ fordító az összes családra ami nem okádja tele a kódot szeméttel.
(#) cross51 válasza edison14 hozzászólására (») Máj 25, 2016 /
 
Az IDE-ét el is felejtettem, de hogy néha kell osztálytársaknak Arduino-ban segíteni fent van a gépemen az Atmel Studio is és a Visaul Studio-s felület és gépigény sokkal barátságosabb mint az X a java-ával amivel persze nem megy a natív megjelenítés és egy 14" FHD laptopon elég idegesítő, hogy majdnem nagyítóval kell nézni a gombokat.
(#) Bakman válasza pajti2 hozzászólására (») Máj 25, 2016 /
 
A Java olyan, mint az ezermester, nem ért igazábol semmihez.
(#) Elektro.on válasza Bakman hozzászólására (») Máj 26, 2016 /
 
Háta Java -t én is kerülném minden szempontból. Én Pascal párti vagyok, Régi TurboPascal és Delphi után.
De gondolkodom rajta, hogy ha időm engedi ismerkedem a C vel is.
(#) pompidu hozzászólása Máj 27, 2016 /
 
Sziasztok!

Egy kis segítséget kérnék tőletek, elakadtam egy szint illesztésnél, rengeteg helyen nagyon sok megoldást olvastam, meg is építettem egyet közülük (mellékelt kép a kapcsolásról) viszont sehogy sem akar működni (UART kommunikációra használnám 5V <-> 3V3). Arra gondoltam, hogy az UART nem szereti ha fel van húzva VCC-re az I2C szabvány meg megköveteli, ha jól tudom.
Egy PIC16F877A -t kötnék össze egy a HEstore-on is megtalálható MFRC522 RFID modullal Bővebben: Link , viszont UART1_Data_Ready() parancsra mindig 0-át ad vissza, így gondolom a kommunikáció nem jön létre, a baudrate 9600 utána 100ms késleltetés van és utána kérdezek rá a kapcsolatra. Esetleg ezt a modult máshogy kéne initalizálni?
Találtam itthon egy SN74LS245 IC-t a kérdésem még az lenne, ezt lehetne használni szint illesztésre és ha igen akkor hogyan?
Elnézést a hosszú leírásért, de inkább kérdezek mint rosszul csináljak valamit, előre is köszönöm!
(#) eSDi válasza pompidu hozzászólására (») Máj 27, 2016 /
 
Üdv!

UART-ra a mellékelt kapcsolás nem lesz jó! Szintillesztést meg lehet ezzel az IC-vel is oldani, de szerintem ne bonyolítsd vele, kellene még egy láb az irány váltáshoz. A legegyszerűbb egy OC kimenetű puffer IC, vagy 4db tranyó.
(#) pompidu válasza eSDi hozzászólására (») Máj 27, 2016 /
 
4 db FET-el meg lehet oldani? Konkrétan ezzel a típussal: NDS355AN mert a linkelt kapcsoláshoz vettem pont 4 darabot belőle smd tokban. Esetleg egy kapcsolást tudsz linkelni mert sehol nem találtam tranzisztoros szintillesztőt.
Úgy vettem észre UART hoz nem sok helyen találni kapcsolást.


Ha esetleg valakinek kellene I2C buszra szint illesztő kapcsolás a nyáktervet közzé teszem, hátha jól jön valakinek (Sprintlayout 6)
(#) eSDi válasza pompidu hozzászólására (») Máj 27, 2016 /
 
Bővebben: Link

Szerintem FET-el is működne.
(#) ktamas66 válasza pompidu hozzászólására (») Máj 27, 2016 /
 
Egy OC buffer ára sem valami eget verő: Bővebben: Link
(#) pompidu válasza ktamas66 hozzászólására (») Máj 27, 2016 /
 
Igen tisztábban vagyok vele, de sajnos hétvégén sehol nem lehet kapni, nekem meg csak hétvégén van időm foglalkozni ezzel a project-el így nem szeretném kihagyni ezt a hétvégét sem, ezért kérdeztem alternatívát, de jövő héten biztos veszek egy párat.
(#) ktamas66 válasza pompidu hozzászólására (») Máj 27, 2016 /
 
A 8. fejezet taglal néhány megoldást.
Következő: »»   800 / 1216
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