Fórum témák
» Több friss téma |
Fórum » MikroPascal kérdések
Témaindító: bozsokiandras, idő: Máj 15, 2006
Témakörök:
Szia!
Ez tűnik a megoldáshoz vezető útnak. Rögtön létezett interrupt. DE, azonnal megbolondult a rendszer. 1; Ha a longinttostr(sec, masodperc); utasítást az interrupt által meghívott utasításba (secundum()) raktam, akkor nem fordította le, mert nem fért el a RAM-ban. Így meg a RAM 9%-át használja. Nem tudom miért. 2; az LCD_OUT(1,1,...) hatására is össze vissza írja ki a szöveget. Ezt sem értem, hogy miért. Ha valaki tud válaszolni a miértekre, azt megköszönöm. De legalább, már indult valami féle megszakítás. Most tudomásom szerint a leghosszabb megszakítási ciklust adtam meg, és így is gyakrabban vált, mint 1 sec. Hogy csináltok ti 1 sec-es impulzust? Két timert indítotok egymással, vagy számoljátok a megszakításokat? Esetleg jobban tudjátok beállítani a timert? Működési freki 8MHz. (Nem akarom 31kHz-ről, mert mérnie, számolnia, beavatkoznia is kellene és nem lenne baj, ha gyorsan is csinálná.)
Valóban, a procedure-ben lévő PIR1.TMR1IF :=0; természetesen a ...-ozott részbe kell.
A 3. de nem számozott kérdésemre én is megtaláltam a választ. Mégpedig, hogy hogyan kell 1 sec vagy hosszabb időzítésű megszakítást készíteni. A Timer 2 az pre és postscaller is és nem csak 1/8-as, hanem 1/16*1/16. Ha jól számolok, az 8s időzítésre is elég.
Bocsánat, hogy megint nem jól olvastam el az adatlapot. Már látom, hogy nem elég csak azt olvasni, amire szerintem szükségem van, hanem betéve kell(ene) tudni az adatlapot. Azért az első két kérdésemre örülnék, ha valaki tudna válaszolni. Az nagyon Pascal (vagy programozás) specifikus lehet. Addig is köszönök minden eddigi és jövőbeni segítséget. ![]()
En ugy szoktam hosszu idozitest csinalni, hogy pl a TMR0 eloosztoval, fix ertekkel feltoltok, ami pl 10 msec IT-t general. Amikor esemenyeket akarok idozitve vezerelni, csinalok minden esemenyhez egy szamlalot, es feltoltom a kivant ertekkel, es amit minden IT beuteskor dekrementalok. Pl Lcd_timer=100; Igy mikor eleri a 0 erteket pontosan 100x10, azaz 1 sec az eltelt ido. Ilyenkor beallitok egy jelzobitet, jelezven hogy eltelt egy sec. Majd a foprogramban figyelem ezt a jelzobitet es ha 1 akkor inditom a kijelzest, torlom a jelzobitet, es ujra toltom a szamlalot. Ezzel a modszerrel tobb idozitest is lehet parhuzamosan futtatni, es nem foglal jelentos processzoridot. Az igazsag az hogy en C-ben programozok, de a pascalban is hasonloan dolgozik a proci.
Köszi az ötletet.
Ami nagyon tetszik, hogy gyakorlatilag 1 időzítővel akárhány idővezérelt funkciót tudsz csinálni. Ez jó, nekem nem jutott eszembe! ![]() Illetve odáig jutottam, hogy meg kell számolni a megszakításokat. Csak az nem, hogy ez az összes funkcióhoz használható egyszerre és nem kell minden idővezérléshez külön timer. Köszi! ![]()
A mellékelt fájl segítségével könnyen kiszámolható az interrupt, kódot is generál.
Szia!
Ezzel mennyivel egyszerűbb számolni. Este is kiszámoltam, papíron elég volt fél óra, ezzel 1 sec és még kódot is ír... ![]() Amivel még mindig gondom van, hogy nem tudom megjeleníteni az időt. Létezik, hogy az LCD valamilyen időzítései használnák a timereket? Szerintem mindent beállítottam, engedélyeztem, mégsem történik semmi. Illetve az LCD-n látható szöveg minden reset után máshol bukkan fel. ![]() Ez milyen jelenség? Változók (helyfoglalása) vagy a timerek akadnak össze? Vagy mégis én rontok el valamit? Hogy tudnám az időt kiírni LCD-re? Egyenlőre még mindig 16F917-el próbálom megoldani.
Ezt a MikroPascal programozót (vagy mi ez) érdemes megvenni?
Ha találsz egy akciósat, mindenképp!
Minden mikrokontrollert tud kezelni. ![]()
Megint kiderült hogy én vagyok a hiba oka...
![]() Ráadásul megint ugyanazzal. ![]() A probléma megoldása: LCDCON:=0; ![]()
Sziasztok!
Szeretnék PIC-kel sms-t küldeni egy HUAWEI usb-s modemen keresztül. Csinált már ilyet valaki? Keresgéltem a neten, de amit találtam az mind rs232 kommunikáció. Ez a modem pedig kicsi, és az ára is jó. Melyik pic-kel lehetne ezt összehozni? Köszi!
Gondoltam, hogy nem véletlen hogy mások is ez irányban haladnak. És akkor nézzek egy soros modemet, vagy ez az usb-s is jó? Esetleg egy usb->rs232 átalkítóval?
Üdv Mindenki, egy kis segítségre lenne szükségem ezzel a francos mikropascallal kapcsolatban. Lehet én rontok el valamit, de nálam a példaprogramot sem akarja build-olni, ha megpróbálom a saját vezérlőmre lefordítani (PIC16F627A) szerintetek mi a hiba? (belső oszcillátorral szeretném futtatni) Mellékelek képeket. Ha valaki tudja mi lehet a baj, legyen szíves mondja, mert nagyon kellene dolgozgatnom vele
![]()
Nem ismerem a mikropascalt , de a 16f627 nek nincs se c-se d portja . szerintem nevezd át a ki-bemeneteket és működni fog
A 16F627A 1-nel kevesebb ANSEL regisztert tartalmaz. Adatlap mit mond?
Ha legalább elővetted volna a kontroller adatlapját, akkor tudnád, hogy nincs sem ANSEL, sem ANSELH regisztere. Ha ki akarod kapcsolni a komparátort, akkor a CMCON-ba kell 0x07-et beírni.
Ha portolni akarsz egy másik kontrollerre írt kódot, az az első, hogy megnézed az adatlapban, a lényegi különbségeket.
Köszöntem! Sorry nem tudtam hogy ennyire típusfüggőek a kódok még így is. ez az első Pices szárnybontogatásom. Köszi a segítséget, így működik!
A szánybontogatást az adatlap gondos áttanulmányozásával kell kezdeni, mert különben honnan tudnád, hogy MIT akarsz működtetni, és az HOL van, melyik lábon jön ki?
A mikrovezérlő nem általános célú számítógép, itt a program arra való, hogy az adott mikrovezérlő adott perifériáját egy adott kapcsolásban a kívánalmaknak megfelelően működtesse. Bármit megváltoztatsz, az eredeti program már használhatatlan, módosítani kell rajta!
Sziasztok!
Egy 18F4550 piccel és egy nokia 6230 -as telefonnal szeretnék sms küldeni, fogadni. Először a telefont egy PC-vel szeretném összekötni, hogy tanuljam a kommunikációt, aztán jöhet a PIC. Sajnos nem akar a kommunikáció létrejönni. Csatolom a rajzot az áramkörről amit építettem, szerintetek jó? A neten keresgéltem leírást, elvileg 9600 8N1 -gyel mennie kellene. DockLight-tal szólongatom, egy AT+ Üdv: T.
Sziasztok!
Azt szeretném megkérdezni, hogy a mikropascal-hoz is létezik-e valami soros letöltő, amivel a lefordított progit bele lehet írni a prociba? Én ezidáig az MPLAB-ot használtam ICD2-vel, vagy a Kónya féle soros letöltőt. A mikropascal menüjében látom hogy lenne erre mód, de milyen hardware és milyen soft. kell a prociba? Ezeket hol keressem a neten? Tudnátok valami kiinduló linket mondani? Köszönettel: gapati.
Szia. Én nagyon régen a PICKIT 2-őt használom. A saját progija figyeli a hexet, úgy hogy ahogy lefordítom a progit, beavatkozás nélkül azonnal bele is veri a PIC bucijába...
Így nem kell külön égetni, automatikusan megy.... Mivel ez bevált évek óta, így nem kerestem mást.... Annyit hallottam, hogy a Mikropascal forgalmazójának a saját égetője aranyárban van.... Fery
Az égető gondolom hogy drága, (van ICD2-m) én a MikroBootloaderre gondoltam. Ahogy nézem a hardware nem lehet túl bonyolult, de nem tudom milyen softtal kommunikálna.
Üdv: gapati
Sziasztok!
Bizony aranyár:40000Ft. Nem éri meg!!! Én is mplab pickit2 kombinációt használok. Az mplab-ba csak egyszer kell a meló elején beimportálni a hex-et. Utána csak a programozás gombra kell kattingatni. Az importálással csak a hex helyét mutatod meg, mindig frissül.
Szia
Negyven Ropi...??? Az tényleg durva egy tetves égetőért... Jó hogy lehet kapni ![]()
Sziasztok!
Én az ICD2-t építettem meg, mindenképpen 10ezer alatt volt az egész. USB-s, és az is sok PIC-et és eepromot ismer(talán az öszeset még egy darabig), tud debuggolni, szóval mindenképpen hasznos dolog. Jövö héten belevetem magam a mikropascalba, ezidáig asm-be írtam a progikat, ott nem volt semmi gond a letöltö kulcs használatával. Megpróbálom használni ugyanazt a kulcsot, és a hozzávaló progit, hiszen az is csak egy HEXfilét tölt be a PICbe. Üdv: gapati
Sziasztok!
Ismerkedek a mikropascallal. és az ADC-vel kapcsolatban volna egy két kérdésem. Azt meg tudom mondani valahogy a PIC-nek hogy külső referenciát szeretnék használni? Az ADC_Read(...) függvény csak belső referencia mód estén használható? Az ADNON1-be én beállítottam RA3-ra a külső referenciát, de nem veszi figyelembe,a belső 5V-val számol. A másik a kérdés a konverziós függvényekkel kapcsolatos. A FloatToStr(...) függvény használata nekem kb 700 byte-val növeli a lefordított kódot. Itt nerm lehet valamit megadni fordítónak, hogy kisebb kódot generáljon? Köszönettel: gapati
Üdv !
Egy Mpascal guru segítségét szeretném kérni. tudna valaki egy egyszerű példaprogramot írni ahol 2 folyamat fut egy időben egymás mellett? (pl egy procedure ami figyeli a bemeneteket és annak megfelelően magasra állítja a kimenetet, a másik pedig felváltva kapcsolgat 2 kimenetet) egy motorvezérlő programhoz kellene a PWM miatt. Előre is köszönöm. |
Bejelentkezés
Hirdetés |