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:
Sziasztok!
Van egy ilyen relém TIANBO TR5V. Ráköthetem szerintetek közvetlenül a PIC lábára? TIANBO TR5V
Üdv!
A tekercsben indukálódó fesz miatt nem javaslom. Végülis nem foglal sok helyet egy tranzisztor, azon szerintem ne spórolj.
Akkor berakom. A hely egy kicsit szűkös...
![]()
Hi!
Rakj a relével párhuzamosan védődiódát is, mert a keletkező áram egy kisjelű tranyót is kinyírhat. Ennek nem kell sok hely...
Szia!
Semmiképpen nem javaslom, hogy egy relét közvetlenül a PIC kimenetére tedd! Nem csupán a tekercsben indukálódó feszültség miatt (annak kivédésére használható egy dióda is), hanem azért, mert a PIC kimenete nem bírja el a tekercs terhelését (Absolute maximum ratings- sink, source I/O pin current 25mA). Ha jobban leterheled, mint az előbb említett érték, akkor biztosan meg fog hibásodni a port. Szóval szerintem ne a tranzisztoron spórolj helyet. Üdv.
Köszi, berajzoltam a tranzisztort, diódát. Diódának 1N4001 -et gondoltam, a tranziztor BC 182 (ez van kéznél). Jó lesz?
Hello
Azoknak írok, akik használják a mikropascal pic fordítóját, hogy megjelent a legújabb 2009-es változata, letölthető a MikroElektronika oldalán. Én már megnéztem, megújult a felülete, és úgy látom a rutinjaikat is átdolgozták. Remélem most már működni fog a manchester rutinjuk is ![]() Üdv.
Üdv!
Esetleg gyógyitást is tudnál mellékelni? Amúgy pár oldallal visszább belinkeltem (itt) a 8.1-es verziót, gyógyítással, esetleg megpróbálhatod azzal is a manchestert. Az MMC library működi benne, ami 6.1-ben nem működött!
Hát gyógyítást nem tudok adni, szerintem még nagyon új
![]() ![]() Üdv.
Hali!
Összeállt immár a kapcsoló gépezet. Még egy kis programozás és kész. Az vettem észre, hogy a elöl álló 7805 IC melegszik. Fél óra után már elég zsizsa a felülete. Ha jól tudom ez 1A terhelhetőségű. Van ebből nagyobb teljesítményű? Van rajta egy LCD, egy 16F887, egy 8583. Gondolom a LCD a legnagyobb fogyasztó. Mi legyen?
Nem a 7805 terhelhetőségével van a baj, mert a működési elvéből következik a melegedés. Hiába teszel oda nagyobb terhelhetőségűt, a melegedés változatlan marad...
Akkor rakjak rá valami kis bordát és jó is?
Igen, inkább azt. De vedd figyelembe, hogy a kezeden már a 60 fokos víz is égési sérülést okoz, viszont a 7805 legalább 100 fokig üzemképes, és belső túlmelegedésvédelemmel van ellátva. Szóval nem kell túlzásba se esni a védelmében.
Azt azért nem célszerű megvárni, hogy bekapcsoljon a hővédelem, mert lekapcsolná a PICet is meg az RTCt is. Én hűtőbordázni szoktam, de egy step-down DC-DC lenne az ideális erre. Pl lm2575 nálam nagyonis bevált.
Sziasztok!
Van egy eljárás amit többször használok a program során, dátumot alakít át srtringgé, date_to_str a neve. Fordítás során a kövekező üzenet: Array has been split over two banks: FARG_date_to_str Ez egymás után 4x ismétlődik. A program lefordul, de letöltés után nem jól működik. Miért van ez az üzenet és hogyan gyógyíható meg?
Sziasztok!
Még csak most kezdtem el mikropascalban programozni és azt szeretném megoldani, hogy ha RB6-on lévő gombot bármikor megnyomom akkor a futó program megszakad és egy másik kódot kezd el futtatni.
Hi!
Ez az üzenet csak arról szól, hogy a megadott tömböt két részre osztotta, ez a magas szintű nyelv és a processzor felépítésének összekapcsolásához kell, nem befolyásolja a program működését. Ha a program egyéb hibaüzenet nélkül lefordul, akkor szintaktikailag OK, minden függvény megfelelő változót kap, stb. Mit jelent a "nem jól működik"? Gyanítom, hogy a dátumot akarod LCD-re küldeni, ezért kell a string. Más stringet hiba nélkül kiír a program? Portok megfelelően vannak konfigolva? Egyébként nem találom ezt a függvényt, ez gyárilag benne van?
Hi!
Nézd meg a súgóban az interrupt kezelést!
Szia! Közben megfejtettem a "titkot". A program lefordul, az említett hibaüzenet, (vagy figyelmeztetés) kb. 8x ismétlődik. Ezután a program elindul, néhány funkció jól is működik. Van olyan rész,amelyik ne. Pl. az időkiiratás esetén 56. hónapot ír ki, és a beállítást nem tudom elmenteni.
Ha kiveszem az utoljára megírt programrészt, minden megjavul. Aztán elkezdtem próbálkozni, mi idézheti elő mindezt. Van olyan eljárás, amiben meghívok egy másik eljárást is, amiben pedig egy függvénytől várom a visszatérési értéket. Nos ez volt a rossz a picnek. Szerintem a memória címzése borul fel a szétvágot eljárások miatt. A "date_to_str" fv. egy általam írt fv. Tulajdonképpen ez volt hívogatva többször is. Ha ez a függvényt kitöröltem és beírtam oda, ahol meghívtam, elmúlt a figyelmeztetés, a prg. is jól működött. csakhogy ez memória pazarlás. Tehát ez a tapasztalat, azonban csodálkoznék hogy ez nincs lekezelve. Amúgy most még kb. 5 sor hiányzik a programból, és ismét ezzel a problémával küzdök. Üdv: T.
Szia!
Nem tudnál valami konkrétabb példát írni mert ami a helpben van azt nem igazán értem.
Sziasztok!
Letöltöttem a Mikropascal Pro 2009 verziót, de a program hibaüzenettel leáll: Demo Limit. Esetleg van valakinek javító programja amivel ez a hiba kiküszöbölhető?
Hello
Próbálta valaki már Mikropascalban a hardveres uart-ot? Két picet kötöttem így össze, az egyik gombnyomásra kiküld egy bizonyos bájtot, a másik pedig ezen bájt fogadása esetén NOT-olja az egyik kimenetét, amelyen LED van. Nem nagyon működik, csak néha kapcsol be/ki a LED. Valamit rosszul csinálok? Üdv.
Üdv!
Valamit akkor biztos rosszul csináltál, mert működnie kell! Rx/Tx lábat felcserélted a 2 PIC között? (Rx a Tx-re, Tx az Rx-re) Illetve mekkora a táv a 2 PIC között? (amúgy lehet, hogy a NOT parancsal van a gubanc a pascalban, néha nekem sem működik, próbálj ki másféle visszajelzést a vételről)
Sziasztok!
Nem haladok a programommal, nem tudom mi a hiba, segítsetek. a main valahogy így néz ki: //----------------------------- read_PORTA; menu:=menu+fel-le; if menu>=max_menu then menu:=0; if menu=0 then displaytime; if menu=1 then settime; //----------------------------- induláskor menu=0; ha kiveszem az utolsó sor (if menu=1 then settime ![]() Ha vissza rakom az if menu=1 then settime; sort, a program lefordul, de nem jelenik meg semmi. Azaz mintha nagyon gyorsan villogna a kijlző első sora. Induláskor menu=0, tehát az utolsó sornak nem kellene befolyásolni a működést. A settime proc. szinte üres nem csinál semmi különöset Mellékelem a programot, hátha valaki belenézne. Köszönöm.
Üdv!
Ennyi utasítást még nem láttam interruptban. ![]() A főprogi végén van +6 sor kapcsos zárójelben, ha kiveszed a zárójelet, akkor addig megáll a progi, amíg el nem engeded a gombokat.
Köszi, este kipróbálom, remélem megoldódik a problémám, mert már egy hete ülök rajta. Üdv: T.
Szia!
A helyzet változalan a Te verzóddal is. Ilyeneket próbáltam hogy a settime procból elkezdtem kikommentezni a sorokat. Egyszercsak elindul (a harmadik sor kivételekor). Azt hitem itt a hiba: if (almenu=0) and (fel=1) then menu:=2; A többit visszaraktam, működik. De ! ha a fenti sort visszaállítom és kiremmelem a fölöte lévőt: read_PORTA; akkor is megáll. A 8.0.0.1 mikropascal ilyenkor írta az Array has been split over two banks ... üzenetet. Ötlet?
Más hibát pedig akárhogy nézem nem találok benne, elvileg mennie kellene.
![]() Procedure read_PORTA; Begin Le:=PortA.0; Fel:=PortA.1; Enter:=PortA.2; If (Le=1) or (Fel=1) or (Enter=1) then Begin PortC.7:=1; // itt kinulláztad a fel, le, enter változókat, pedig szerintem nem kellene keypres:=0; end; end;
PortC.7:=1; // itt kinulláztad a fel, le, enter változókat, pedig szerintem nem kellene
Ez a C port, ami az LCD világítását kapcsolja.Nem írtad el? |
Bejelentkezés
Hirdetés |