Fórum témák
» Több friss téma |
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?
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.
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
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
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.
Ü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.
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.
É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. 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.
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. 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.
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.
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.
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
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!
Bocsi az előző hozzászólásom miatt! Te is ugyanazt írtad mint én, csak kissé máshogy fogalmazva.
Közvélemény kutatás. Kinek tetszene az ötlet a jövő világában, ha javascriptben lehetne programozni a pic-eket?
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).
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.
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.
A Java olyan, mint az ezermester, nem ért igazábol semmihez.
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.
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!
Ü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ó.
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 ![]()
Egy OC buffer ára sem valami eget verő: Bővebben: Link
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.
A 8. fejezet taglal néhány megoldást.
|
Bejelentkezés
Hirdetés |