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:
Udv mindenkinek!
![]() Tudna nekem valaki segiteni, hogy hol szerezhetem be,teljes verzioban a "MikroPascal"-t? Elore is kosz... ![]()
PIC-hez kellene? Vagy AVR-hez? Vagy mihez? dsPIC?
Hello
Most kezdek megismerkedni a PIC-ekkel. Múltkor csináltam egy futófényes programot pic16f628-ra, azóta vettem egy 16f84a-t, de ezen a pic-en nem működik a program. A mikropascal menüjében persze átállítottam a pic típusát, újra lefordítattam. Egyszerűen nem tudom működtetni a pic-et. Az IC-Prog pedig hiba nélkül felégeti. Kipróbáltam más programmal is, a mikropascal szerint ekkor a lefordított program párszáz szavat tartalmazott, de az IC-Prog ennél a programnál csak kb. 20 szavat jelzett. Mi lehet a probléma(k)?
A konfig biteket újra beállítottad? Típusváltásnál értelemszerűen nullázódik az összes.
Igen. Oszcillátor -> XT (4MHz); WDT -> OFF.
Eredetileg 16x2 karakteres LCD kijelzőt szeretnék vele meghajtani, nem működött, aztán próbáltam LED-et villogtatni, az se működött. Üdv.
Másold be ide a futófényes kódot, úgy többet tudok mondani.
A demo-t használod, vagy a "javított" változatot?
Hello
A kód a következő: program odon; label ide; begin trisb:=0; ide: portb:=%00000001; delay_ms(200); portb:=%00000010; delay_ms(200); portb:=%00000100; delay_ms(200); portb:=%00001000; delay_ms(200); portb:=%00010000; delay_ms(200); portb:=%00100000; delay_ms(200); portb:=%01000000; delay_ms(200); portb:=%10000000; delay_ms(200); portb:=%01000000; delay_ms(200); portb:=%00100000; delay_ms(200); portb:=%00010000; delay_ms(200); portb:=%00001000; delay_ms(200); portb:=%00000100; delay_ms(200); portb:=%00000010; delay_ms(200); goto ide; end. Demo-t használok, de a program nem nagyobb 2k-nál, sőt 16f84a-ba csak 1k fér. Esetleg a 16f84a-nál kell még valami mást is beállítani? Üdv.
Üdv!
Csinált már valaki 2 PIC között I2C kommunikációt? Nekem most erre lenne szükségem, úgy-ahogy működik is. Interruptolva szeretném megcsinálni a fogadást, és itt akadtam el. 16F873a-t használok. Arra már rájöttem, hogy a PIR1.SSPIF jelzi a fogadást, de ahogy néztem az adatlapot, nem csak akkor szakít meg. Szóval leginkább az interruptos beállítás érdekelne. Nincs valakinek tapasztalata ebben a témában?
A kapott 20 szó picit gyanús a fenti kódra. Szoftveres szimulációval nézve jó a kód. Sajna nekem nincs 84A (legalább 4 éve nem is használok ilyet), így kipróbálni nem tudom. Melléklem a lefordított hex-et, próbáld ki.
Egyébként a futófényes programot sokkal egyszerűbben is meg lehet írni. Példa: program futofeny; var i: byte; begin trisb:=0; portb:=1; delay_ms(200); repeat for i:=0 to 6 do begin portb:=portb shl 1; delay_ms(200); end; for i:=0 to 6 do begin portb:=portb shr 1; delay_ms(200); end; until 1=2; end. A labelt bár megengedi a Pascal, nem ajánlott használni, mert bazi nagy kódot kapsz emiatt. A fenti program 133 szó (delay nélkül 43), a másik kód pedig 455 szó. A legújabb verziót használod? Remélem, nem valami ősrégi változatot. Itt a legújabb: Bővebben: Link
Hello. Nem erre a programra adott ki az IC-Prog 20 szót, hanem arra, ami kiiratott volna az LCD-re egy A betűt(pedig abban is voltak delay utasítások).
Sajnos ezzel a teszt progival se csinál semmit se a pic, pedig a pic vadiúj, az áramkör próbanyákon van összerakva, és a 16f628 és a 16f84a lábkiosztása azonos. Tehát a mostani áramkörben működött a 16f628-as. Üdv.
Elég egyszerű, már-már spártai a 16F84A belső felépítése, így ne nagyon van minek összeakadni benne, tehát elvileg ennyi beállítás (trisb:=0) elég kellene, hogy legyen.
Mellesleg a programot ennyi erővel assembly nyelven is megírhattad volna, s akkor az MPLAB szimulátorában láthatod, hogy működnek-e a kimenetek. A vezérlőd kimenetei egyébként 25 mA-t bírnak, ez elég egy normál led meghajtásához (egy soros ellenálláson keresztül). A LED bekötésénél a polaritásra ügyelni kell. A programodból úgy tűnik, hogy a földre szándékoztad kötni a LED-ek katódját.
Az összes Mikroe-s cuccban van szoftveres szimulátor. Sőt, az újabbakban már ICD is van. (a PICBASIC-en kívül van olyan, amiben nincs?)
Milyen programozód van? Remélem, nem JDM...
JDM van, de az IC-Prog nem ír ki hibát az égetéskor, és utána is vissza tudja rendben ellenőrizni a pic tartalmát.
Üdv.
Olvasnivaló:
Bővebben: Link
De eddig nem volt semmi probléma az égetéssel, amikor még 16f628-on gyakoroltam, csak az ismeretlen ok miatt elhalálozott, és azóta vettem 16f84a-t.
Üdv.
Kiemelem neked a lényeget:
Idézet: „A megépített égető akkor a legkegyetlenebb, mikor véletlenül működik! Mert ha nem indul el, akkor maximum bosszúságot okoz, de megment egy csomó felesleges időpocsékolástól és agybajtól. A nagyobb problémát akkor okozza, ha úgy tűnik, hogy működik! Ilyenkor elégedett a kezdő amatőr, és nekiáll programot fejleszteni a kis áramköréhez. Aztán teljesen elbizonytalanodik, mivel mindent úgy csinál, ahogy az a nagy könyvben meg van írva, még sem működik a beégetett program, pedig még az ellenőrzés is jó! A másik verzió, mikor egy bizonyos PIC-el működik az égetés, de egy másik típust programozva már teljesen bizonytalanná válik a működése. Nagyon ritkán előfordul, hogy az áramkör működőképes.” Forrás: Bővebben: Link
Én kezdésnek ezt szoktam ajánlani:
Bővebben: Link
Ok. Köszi szépen, megépítem akkor az Oshon-os változatot. Remélem akkor menni fog.
Üdv. Idézet: „MikroPascal 8.0.0.3-hoz nem tud valaki gyógyítást?” Úgy látom, be akarod biztosítani a jövődet. ![]()
[off]1. Gondolom, tudod, mi az a béta verzió egy szoftver esetében. Pont ezért nincs is még reklámozva, a készítő honlapján sem. A fórumok legmélyén max...
2. Komolyan gondoltátok, hogy béta változathoz készíteni fog bárki is gyógyítást?!? ![]()
A nyilvános bétának pont az az értelme, hogy a kiadás előtt a felhasználók is leteszteljék, és az esetleges hibákat még a végleges kiadás előtt kijavítsák... Ha eldugnák, akkor annak mi értelme lenne? Ha jobban megnézed a honlapot, a News szekcióban már feltüntetik az összes beta verziót, pont a fenti ok miatt. (igaz, ez még nem szerepel benne, de korábban csak a fórumon jelentettek meg minden ezzel kapcsolatos dolgot)
Még nem láttam a MikroPascal-hoz normálisan működő gyógyítást... Hol ez, hol az romlik el miatta... (persze sok embernek fel sem tűnik...)
Szerintem a Mikropascal annyira szűk körben használt szoftver, hogy ennek a béta verziójához nem állnak neki gyógyítást csinálni. Más egy vindóz, mert azt már csak a kihívás miatt is meghegesztik.
C18-hoz sem láttam normálisat egyébként. Egyedül a régi teljes verzió+upgrade dolog működik (bár ott jóformán nem vesztünk semmit nélküle sem).
Ez nyilván az előzetes fejlesztői változata a majdani végleges 8.0.0.3 kiadásnak.
Hello
Megírom az új fejleményeket. Tovább próbálgattam a JDM égetőmet. Arra jutottam, hogy az égető működhet, hisz égetés után a visszaellenőrzéskor az IC-Prog rendben vissza tudja ellenőrizni a PIC tartalmát. Szóval gondoltam, hogy akkor mégis valami a próbanyákon nem jó. Pedig minden jól volt bekötve. Akkor gondoltam, hogy kiveszem a kristályt, és inkább teszek bele ellenállást és kondit, és a mikropascalban átállítom az oszci típusát RC-re. És lám....működik a teszt programod. ![]() Kipróbáltam a 16x2 kar. LCD-met is, működik az is. Az órajelet 2 MHz-re állítottam, így a programban lévő delay_ms(500) utasítás is nagyjából megegyezik a gyakorlatban 500ms várakozással. Ezek szerint a kristály rossz lehet? És kössz a segítséget ![]() Üdv.
A kvarc lábaihoz mekkora kondikat tettél? Amúgy én 4 MHz-re már HS-t állítok a konfigban, indul mindig, és így a kondira sem érzékeny.
Általában 22 pF mindenféle frekijű kvarchoz jó (kivéve a nagyon régieket). Sajnos vannak hibás kvarcok is, a tönkremenetelhez sokszor elég kőre vagy betonra leejteni... 4 megához inkább az XT üzemmód ajánlott.
|
Bejelentkezés
Hirdetés |