Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Általában az utasítások 1 ciklusosak, ami azt jelenti, hogy az oszcillátor periódusidejének 4-szerese a végrehajtási idő ( van néhány 2 ciklusos utasítás is!).
A legegyszerűbb, ha leszimulálod! Steve
A harmadik utat választottam..Hogy ne kelljen a már készre beültetett penelbe belegányolni, beültettem egy másik panelt amin csak a PIC van rajta, az ICSP port és a visszajelző ledek. Watt példaprogramjába kicsit belegányoltam hogy lehessen tesztelni vele a hurokba kötött sorosportot. Nálam az RX/TX lábakat összekötve a program tökéletesen működik, az adat megérkezik és helyes. Az jön vissza amit küldök.
Akkor most az jön, hogy miért nem adja ki a modem azt amit te szeretnél!? Jó lenne belenézni a modem tx vonalába PC-vel!
Igen, épp a soros illesztőt keresem amit már régebben összeraktam, de sehol nem találom. Nem úszom meg hogy össze kelljen raknom még egyet. Pedig ami kész volt az egy 9 PIN es csatlakozóba volt belegyömöszölve , MAX3232 vel volt kreálva. Jó volt, szép volt, de most nincs meg amikor kéne. :no:
Kép: Hivatkozás
Húsvéti meglepetés! A PIC-kwik projekt keretében a Microchip 16 bites mikrovezérlői közül konkrétan a PIC24HJ128GP502 és a dsPIC33FJ128GP802 felépítésével és programozásával ismerkedünk meg. Az első néhány kapavágáson túljutottam, eddig a közzétenni kívánt anyag kb. 10-15 %-a készült elközel 2 hónapi munka árán , s a jelenlegi állapot a http://esca.atomki.hu/PIC24 honlapon megtekinthető. Azért adom most közre így, ebben a korai fázisban, hogy igényfelmérést végezzek. Kérem ezért az érdekelteket, hogy a fenti projekt honlapján található E-mail címen jelezzék érdeklődésüket, amennyiben a most még hiányzó részeket is szívesen olvasnák! (Kérem, hogy ezt a topikot ne terheljük ezzel!)Amennyiben érdeklődés mutatkozik, akkor - ahogy időm engedi - folyamatosan bővítem majd az anyagot, s egy külön topikot is szentelhetünk a témának. Az én fogalmaim szerint elég szájbarágós az anyag, tehát főleg kezdőknek ajánlom. Tudom, hogy a közzétett anyag hiányos, maradt még benne sok melléütés is, de hibaigazításokat egyelőre nem kérek (majd egy későbbi fázisban). Azt viszont most kérem jelezni, ha az általam szájbarágósnak vélt anyagban valami mégsem érthető/követhető egy "erős középkezdő" számára! Az eddig megjelent PIC24-gyel foglalkozó könyvek elsősorban az Explorer 16 demókártyára és a C30 fordítóra építenek, ami véleményem szerint nem a legszerencsésebb választás. Attól eltekintve, hogy az Explorer 16 demó kártya elég borsos árú, s a vele kapott (szó szerint) 100 lábú mikrovezérlők, és a felületszerelt kártya nem a legalkalmasabb a hobbi célú kipróbálásra, van még egy másik komoly probléma is: a magas lábszámú 16 bites mikrovezérlők gyártását valahol nagyon elszúrhatták, mert az újraprogramozhatósági szám igen alacsony: garantáltan csak 100-szor, illetve 25 fokos hőmérsékleten tipikusan 1000-szer írható újra a programtároló memória. Ez a kísérletezéshez, vagy a hardveres nyomkövetéshez nagyon kevés! Sokkal jobban sikerült széria (legalább 10 000-szer újraprogramozhatók) a PIC24H sorozat 2008-ban kibocsátott, kis lábszámú 16 bites mikrovezérlői. A 28 lábú példányok könnyen kezelhetőek (akár dugaszolós próbapanelon is!), így jó szívvel ajánlhatók hobbi célokra vagy otthoni tanulásra, a mikrovezérlőkkel való ismerkedésre. A másik szempont, ami vezetett az volt, hogy olyan tananyagot találjak, ami a PIC24 mikrovezérlők assembly utasításait és programozását is bemutatja, hiszen a mikrovezérlő működése és kezelhetősége csak itt tárul fel a maga teljességében. Ezért nagyon megörültem, amikor rábukkantam a Mississippi State University honlapján a ECE3274 kurzus tananyagára , amelyben a PIC24 mikrovezérlő felépítését és assembly, illetve C nyelvű progragmozását mutatják be. A tanfolyam anyaga a fenti linken is elérhető, de az előadások anyagát könyv formájában is kiadták. A tanfolyam mintapéldái egy próbapanelon házilag is könnyen megépíthető, egyszerű áramkörön futtathatók, s az összeállítást egy szájbarágós leírás is segíti.Az oktatók nagy gondot fordítottak arra is, hogy a 16 bites mikrovezérlő család assembly utasításainak használatát bemutassák, s arra is rámutassanak, hogy a C nyelvű program egyes utasításait milyen assembly utasítássorozatra lehet kifejteni. Amennyire időm engedi, a fenti tanfolyam menetét követve az abból elsajátított ismereteket magyar nyelven összefoglalom, hogy ezáltal másokkal is megosszam. Természetesen, ahol szükséges, vagy jónak látom, ott eltérek az angol nyelvű anyagtól, így azaz általam közzétett anyag nem egyszerű fordítás, hanem adaptáció, átdolgozás, amelyet egyéni tanulásra szántam, ahol sem időkeret sem terjedelmi korlátok nem szabnak merev korlátokat a felfedezés és az elmélyült kísérletezés számára.
Huhh, hát ez a leirásod alapján szép munka. Azthiszem mindenki nevében megköszönhetem. És most mentem olvasni !
Na most állt meg a tudományom ( ami igencsak hiányos.. ), ugyanis a modultól szépen jönnek az adatok 9600 on. Ahogy a PIC tolja befelé az AT parancsokat, sorban jönnek vissza a modultól az "OK" - k. Csengetéskor a "RING" ...stb szóval adat az jön, a soros kezelő rutinok és a kiértékelő program jók akkor vajon mi a bánatért nem működik...?
Valami illesztési probléma lesz ott(GND közös?), vagy a program elkóricál a LED kigyújtása után, mikor másik karakter jön. De lehet más is, amire most nem tudok gondolni. Meg kell találni, nincs mese!
Szép téma, gratulálok! Sok sikert, engem érdekel, mert pár ilyen eszközt már használtam, de van mit még tanulni!
Szia!
A Baud beállításánál a számításokat az MPlab végzi? Ha igen, az órajel frekvenciája, a leosztás és a sebesség decimális számrendszerben van-e megadva?
Nekem működik már több példányban (a "." -tal kezdődő számok decimálisak.) Sza.
Sziasztok!
Szeretnék egy picel megoldani az usbs bluetooth modul legalább láthatóvá tenni más készülékek számára, és szeretném megkérdezni tőletek hogy, hogy lehetséges? Köszönöm szépen!
Ezt a topikot nézd meg: PIC vezérlése Bluetooth-on keresztül!
Szia Menyus!
Hogy próbáltad ki az AT parancsok küldését és a válaszok fogadását?Mi volt eddig a hiba, hogy nem láttad a modul válaszokat, mit változtattál?Csatolod ezt a programot? Hiba lehet, hogy a SIM kártyára nem jelentkeztél be hívás előtt(PIN kóddal), mivel nem tud felcsatlakozni a GSM hálózatra, ilyenkor egyes parancsok még működhetnek, de amihez kell a GSM azok nem.
Menyus azt írta csengetésnél jön a RING ... ez nem működne hálózat nélkül, tehát nem az a gondja, hogy nem jelentkezett fel.
értem, akkor elértettem..
Persze a GND közös hiszen egy panelen van a PIC a modullal és egy tápról jár.
Még csak piszkozataim vannak. Az egész úgy indult hogy megpróbáltam a modul által első karakterként küldött "CR" -t azonosítani és kijeleztetni, és nem ment. Most ott tartok hogy külön lepróbáltam a PIC et, aztán a modult PC vel, és most végül a modult a PIC el. Az adás mindíg is működött de a vétel nem. Azt a programot amivel először próbálkoztam már átírtam ezerszerszer százféleképpen. De holnap nekiülök és az eddig szerzett gyakorlati tapasztalatok fényében írok egy másikat. És ha szabad akkor majd kérdezek...
A SIM kártyáról levettem a PIN kód kérést, így ott nem akad el a dolog. A "NETLIGHT" LED szerint is hálózaton van, hívható is...stb, valamint visszaküldi a modul a "call ready" t is. Az AT parancsokat valahogy így küldtem el pl: MOVLW H'041' ; "A" MOVWF TXREG CALL TX_OK MOVLW H'054' ; "T" MOVWF TXREG CALL TX_OK ...stb
Nem, a számításokat Wattmester végezte , a sorosport konfigja az Ő tollából származik, ahogy azt a forrásban meg is említettem a fejlécben. De beállítottam az adatlap szerint is egy másik rutinnal, úgysem ment. Biztos hogy 9600 on megy mert a PC vel is ezen a sebességen van meg a kapcsolat.
Szia!
Próbáltam vissza keresni, hogy pontosan milyen PIC milyen modul és kapcs. rajz, de nem találtam. Segítenél, hogy mivel küzdesz, mert nem tutira,de szerintem tudom mi a gondod. Én 18f458-al kezeltem c35i-t + GPS modul + PC és amilyen béna voltam, szerintem az összes lehető akadályba belefutottam!
Konkrét kérdésem:
Milyen PIC? Milyen GSM modul? Hogy kapcsolódik a GSM TX a PIC RX-re?
Én úgy szoktam a SIM300-al kezdeni kapcsolatot, hogy küldök neki kb. 10x AT parancsot, ebből felismeri a küldési sebességet és azon a sebességen fog kommunikálni utána.
A SIM300ban még érdemes kikapcsolni az ECHO funkciót is, mert tele szórja a PICET, és a le nem kezelt sorsportról beérkezett adatok szintén problémát okozhatnak.
Oké! Közben meg van, hogy mivel szenvedsz csak a szemem szúrta ki! (Mondjuk a PIC még nem)
Na elmondom én mivel szívtam: Én is közvetlen kötöttem össze az Rx/Tx lábakat. ezzel két gond volt. 1. A c35i 3,3V feszültséggel üzemel, ezért ha az Rx vonalára a PICcel, ami 5Von járt, adatot küldtem, akkor ledobta magát a hálózatról, ezért egy ellenállás/zéner párossal limitálni kellett azon a vonalon a feszt 3V-ra! Ez a gond szerintem téged nem érint, nem ismerem azt a modult. 2. A c35i visszafelé is csak 3,3V al kommunikál! Tehát amikor a GSM adatot küld, akkor nála a magas szint a 3,3V. Viszont a PIC-nek, ami 5V-ról megy az Rx lába Schmit triggerezett (remélem jól írom) amire az adatlap azt írja a Vhigh min= 0.7*VDD ami ugye 3.5V és ezért nem is tudja a GSM "magasba" húzni a PIC Rx lábát. Úgy gondolom, hogy azok alapján amit leírtál ez lehet a te gondod! Nem tudom milyen PICel dolgozol, nem tudom, hogy mindnél így van e, nem ismerem a GSM modulod sem,de egy próbát megér szerintem.
Hoho, nagyon jo! Remek husveti meglepi ez Lesz mit olvasnom azt hiszem
Én siemens C45-öt házasitottam PIC18f1320-al, 3,6V-os tápról jártak mindketten, és a PIC RX lábát egy ellenállással a tápra kellett húzni (lehet hogy OC-s kimenete van a telefonnak).
Én 3,2V-n járatom a PIC-et és csak egy 300ohm ellenálláson keresztül van összekapcsolva a SIM300-al.
De szerintem még az ellenállás sem szükséges, nekem jól működik a kommunikáció így.
Nem ez a gond, nálam a SIMCOM SIM300 modul egy tápról jár az F628A val. Tehát szint illesztési probléma nem lehet. Én inkább arra gyanakszom amit pepe33 írt, hogy a le nem kezelt adatok meghülyítik a PIC et. Amit egyébként Pepe írt, hogy a programn elején kell a modulnak pár AT parancs, az működik. Ettől a pár parancstól felismeri a baud rate értéket. Feltéve hogy az auto baud rate opció be van kapcsolva a modulon. nálam be van. Nem is ezzel van a gond, jön is az adat, csak a PIC nem kezeli.
Oksa, csak gondoltam egy ötlet, hátha segít! Azért ha rájöttél a gondra akkor oszd meg velünk. Ha gondolod nekem van soros kommunikációra egy elég jól megírt programom asm-ben, kétszintes megszakítás kezeléssel!
Abból talán lophatsz ötletet.
Ok, köszönöm a segítő szándékot mindenkinek. Mára egyelőre félreteszem mert már kiugrik a szemem a helyéből...Ja, és nem jött be az RX láb táprahúzása sem..
Próbáld meg fix bauddal, ne bízz az autóban!
|
Bejelentkezés
Hirdetés |