- FlashForth V3.3 on PIC18F8722
- 3 2 + . 5 ok
- 3 2 min . 2 ok
- 5 9 max . 9 ok
- -2 abs . 2 ok
Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
628 vagy 628A? Nem mindegy, a helyes típust kell kiválasztani az MPLAB-ban!
Már kezdek rájönni. hála Neked.
ahol pl. 0x20,0X30 volt a táblázatomban ott RRCF 0x20 W, ACCESS utasítást írt be,mert 0x30 = 0011 0000 az RRCF utasítás kódja pedig 0011 00da,xxxx xxxx.Megnéztem az adatlapban,logikus már. Akkor ez a Disassembly Listing a gépi kódból állít vissza asssembly kódot,miután assemblyből lefordította gépi kódra? köszönet a segítségért. üdv.
Na látod, csak rájöttél. Igen, azt csinálja. Akár egy hex fájlt is megnyithatsz File-->Import-al, és annak is nézheted a disassembly-jét.
lehet. a típusszámban az "L" a low voltage programming" röviditése, ami azt jelenti, hogy a program égetéséhez a korábban szokásosnál kevesebb is elég.(nem kevesebb KELL, hanem kevesebb is ELÉG) A működést nem befolyásolja, csak az égetést. A legtöbb mai procinál találsz a leírásban táblázatot, hogy mekkora feszültségnél milyen sebességre képes. Pl 20 MHz-et csak 5V-nál tud, de 512k-hoz már elég 2,4 V is. Hangsúlyozom, ez nem a proci nevéből derül ki, mert ott az "L" csak az égetési feszültségre utal.
Az L betű NEM a low voltage programming jelzése. Az L betű azt takarja, hogy alacsonyabb feszültségről is működőképes. A nem L jelzésűnél csak 4,2V feszültségtől garantálják a működést frekvenciától függetlenül. Míg az L jelzésű 4MHz alatt akár 2V-ról is elketyeg, 16MHz-re elég neki 3V, és 25MHz-re a 4V. Adatlapban a Figure 28-1 és 28-2 képeken láthatók a tartományok.
Nem valami ilyesmire gondolsz?
Új játék a PIC18F mikrovezérlőkhöz:
Más BASIC, FORTH stb. fordítókkal ellentétben a FlashForth 3.3 a célprocesszorn fut, egy soros porton terminállal (vagy terminál emulátorral) kommunikál, így interaktív programfejlesztést, debug-olást és futtatást tesz lehetővé. Nem merültem még bele a részleteibe (multitasking, interrupt és online assembler használata), s a dialektust is szokni kell még. Pl. a szokásos DO..LOOP konstrukció helyett itt for..next van. Egy kis ízelítő elemi matematikából: Amint látható, a Forth verem-orientált, s a fordított lengyel jelöléshez hasonló logikával kell dolgozni. A pont kiírja a verem tetején talált eredményt, az ok pedig jelzi, hogy nem volt hiba. A Forth felfűzött nyelv, azaz a már definált szavakból újabb definíciókat fűzhetünk össze. Az alábbi példában egy test nevű utasítást definiálunk, ami a verem tetjén talált számnak megfelelő ciklust hajt végre, s kiíratjuk a visszafelé számláló ciklusváltozót. A új szavak definíciója kettősponttal kezdődik és pontosvesszővel zárul. Utána két futtatás következik (20 ill. 5 ciklussal).
Összefoglalva: a FlasForth jó játék! Az interpretert lefordítjuk, beégetjük, s utána napokig kommunikálgathatunk a PIC vezérlővel. A 18F PIC-ek önprogramozó képességét kihasználva nemcsak a RAM-ot és EEPROM-ot, hanem a FLASH memóriát is írja/olvassa. A words paranccsal egy impozáns listát kapunk a már definiált utasítások neveiről. Idézet: „a FlasForth jó játék!” Szerintem az is marad, én legalábbis nem látom, hogy mire lenne ez jó? Jól értem, hogy ez gyakorlatilag egy interpreter?
Igen, ez egy interpreter. Charles Moore találta ki 1968-ban, s rádiótávcsövek vezérlésre használta.
A 80-as évek elején a mikroszámítógépekben is elterjedten használták, sőt, célprocesszort is fejlesztett hozzá Moore cége, amit a Harris Semiconductor továbbfejlesztett, s több NASA expedícióban is felhasználták. Azt már írtam, hogy mi az előnye: menet közben lehet matatni a célprocesszorban, tehát flexibilisebb, mint a sima debugolás, mert újabb kódrészleteket próbálhat ki az ember újrafordítás nélkül. Egyszerűbb mérésvezérlési, adatgyűjtési feladatra tökéletes.
A Forth az eszmeletlen jo dolog! Eleg jopofa dolgokat lehet vele ossza utni es meglepoen gyors az eredmeny. Eleg ha csak a forditott lengyel logikara epulo matematikara gondolunk.
bocsánatot kérek, hogy kezdőként ellenkeznem kell. Én bemutatok példákat, ha mégsincs igazam, természetesen fejet hajtok előtted.
PIC 16F887: Low voltage programming: Not enabled Operating voltage: (2V-5.5V) majd kiszúrtam találomra egy "L"-est: PIC16LF724 LVP: available Operating voltage: (1,8V-5,0V*) *Maximum speed available from 3,6V Tehát, a 887-es NEM L-es, mégis működik már 2V-al is!(viszont nincs LVP). A másik L-es típus ugyan 2 helyett már akár 1,8-al is műxik, de van LVP. Nem tartom valószínűnek, hogy 0,2V miatt betennének egy L betűt, annál is inkább, mert pl az 14000-as szintén nem L-es, és annak aműködési tartománya 1,8-6,5(!) V. Persze, lehet, hogy én tévedek. És mint mondtam, akkor fejethajtok. Még azt is el tudom képzelni, hogy mindkettőnknek igaza lehet, és ezek a mindenben "Low voltage" konstrukciók: alacsonyabb feszültségen működnek (erre utal az a csillag, hogy már 3,6V-on rendelkezésre áll a maximális frekvencia), valamint, hogy az égetési feszültség is lehet kisebb. még 1x: Ezt, a 1f887-es pdf-jéből másoltam ki: Operating Current: - 11μA @ 32 kHz, 2.0V, typical - 220μA @ 4 MHz, 2.0V, typical Egyébként, egyik forgalmazó szerint, az L a Low voltage operating mod-ra utal. Kifejti, hogy nem csak az L-esek képesek erre, de az L-esek biztosan. Viszont csak az L-esek LVP-sek. Tehát, az L NEM egyértelműen az alacsony feszültségű működés jele, hiszen mint látod, a 887 is tud 2V-on működni, mégsem L-es... Idézet: „PIC 16F887: Low voltage programming: Not enabled Operating voltage: (2V-5.5V)” Ezt hol olvastad?
"Viszont csak az L-esek LVP-sek"
Sajnos, ez a mondatom nem igaz.Én értettem félre a magyarázatot. Elnézést, ha bárkit is megtévesztettem vele... Idézet: „Az L betű NEM a low voltage programming jelzése” Hát, sajnos jön a fejhajtás. Úgy tűnik, potyónak volt igaza, tényleg nem annak a jele. De csak részben volt igaza, ugyanis nem is annak a jele amit ő mondott, hiszen az L nélküli procik is képesek alacsonyabb feszültséggel működni (2 példát is mondtam rá). A hivatalos megnevezés szerint az "L" az " Extended Vdd range" jele.
Hello!
A következő problémába ütköztem: PIC18F4520-asba beleégetek egy programot (szimplán villog egy led). Az égetés sikeres, amikor viszont rákapcsolom a tápot a led nem villog. Ha azonban megfogom a földet (néha a +tápfesz-re is ez ven) az áramkör szépen működik, a led villog. Ugyanígy ha az égetőáramkört nem kapcsolom le égetés után, és úgy adok tápot, akkor is jó. Egyszerűen fogalmam sincs miért van ez, mert pl ugyanilyen áramköri elemekkel (csak a PIC-ket cseréltem ki a próbapanelon) nemrég PIC16F877A-t programoztam, és azzal nem volt ilyen gond. Valakinek van valami ötlete? köszi
Ezt nagyon rosszul tudod, potyo már leírta...
Ne tetézd! Semmiben nem volt igazad... Ezt a békát be kell nyeld!
Az mclr lábat felhúztad +ra? Tedd meg 1k és nem vezetget továb
MCLR láb hová van kötve?
szerk: kaqkk, bingó!
Az mclr láb 10k-n keresztül a +ra van kötve. Próbáltam 1k-val is, de semmi.
Igazából végig kérdezgethetnénk, hogy van e 100n-s kondi a táplábakon, meg ilyeneket sorba, de jobb lenne, ha a kapcsolást csatolnád pl. gif-ben, (a jpg elmossa a részleteket) kicsit gyorsabban haladnánk. Pontosan legyen rajta minden ami most a Te áramkörödön fellelhető. Ha lehet a kondik elhelyezekedését is jelöld a rajzon az alkatrész berajzolásánál(gondolok itt arra, hogy mihez és milyen közel van.)
itt a rajz.
A kapcsolásban közel vannak egymáshoz az alkatrészek, viszont a tápkábel 1 méter hosszú legalább. (abból stabilizált 5V jön) Csak az a furcsa, hogy 16f877-tel semmi gond nem volt ugyanebben az összeállításban, és mivel a lábkiosztásuk ugyanaz, csak a picet cseréltem ki, és ez (18f4520) meg problémázik.
Elso korben 22-33pF-ekkel kiserleteznek, az a 16pF eleg kicsinek tunik. Aztan lehet kellene egy soros ellenallas is - mindenesetre probald meg belso taprol jaratni a kutyut, ha ugy megy akkor mindenkepp a kristaly korul keresnem a bibit, ha ugy sem megy, akkor lehet a tapod vacakol? Ja meg valami: mindket oldalra tegyel szurest (100nF) ne egy kozoset, es a 100nF olyan kozel legyen a labakhoz amilyen kozel csak lehet...
Idézet: „Egyébként, egyik forgalmazó szerint, az L a Low voltage operating mod-ra utal. Kifejti, hogy nem csak az L-esek képesek erre, de az L-esek biztosan. Viszont csak az L-esek LVP-sek. Tehát, az L NEM egyértelműen az alacsony feszültségű működés jele, hiszen mint látod, a 887 is tud 2V-on működni, mégsem L-es...” Nem kellene keverni a dolgokat! Konkrétan USB-s PIC18F és LF összehasonlításáról volt szó, ahol az adatlap szerint az F-es típus min 4.2 V tápfeszültséget igényel. Az LF típus az, amelyik alacsonyabb tápfeszen is működik - igaz, kisebb frekvencián... Idézet: „a 887 is tud 2V-on működni” Persze, de nem 96 MHz-es USB transcieverrel!
A hosszú tápfesz miatt a PIC mellé a 100nF-dal párhuzamosan én tennék egy 10-20µF szűrést is, lehetőleg tantált. Aztán meg a PGM lábat meg kellene próbálni lehúzni a testre egy ellenállással, illetve ellenőrizni kellene, hogy a low voltage programming nincs-e engedélyezve a PIC configjában.
Beraktam 22p-ket, 100nF-ot mindkét oldalra, és elemekről táplálom. Így jónak tűnik.
Még szórakozok a kristály körül.
naggyon jó! Köszi szilva meg persze mindenkinek, aki hozzászólt! A low voltage programming tényleg engedélyezve volt. Kiiktattam és működik ráadásul mindenféle szűrés nélkül.
Nos, most mar biztos nem a PICkit2 valtja le az ICD2-t, hanem az ICD3 debugger...
Joval gyorsabb programozasi es debuggolasi mod az FPGA tervezesnek koszonhetoen es erosebb vonali vedelmek jellemzik - 220 dollar koruli ara nem eppen hobby penztarcahoz igazodik...
Nem rossz! Viszont, hogy leváltja-e, az még odébb van. Gondolok itt arra, hogy van már a DVD-nél jobb tárolás, még sem terjed úgy, ahogy szeretnék, mert a DVD úgy jó, ahogy van.
|
Bejelentkezés
Hirdetés |