Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Kérdés: ASM kontra C?
Sok harcon túl vagyok már az ASM talaján, és tetszik a "teljhatalom". Semmi felesleg, csak, amit én akarok. Még az sem köt, hogy valamit nem így szoktak. Ha a vas tudja, megcsinálhatom. Pro C: Az ASM-mel nagyon jól elvoltam eddig 12-es és 16-os sorozatoknál. Ellenben olyan feladatok vannak láthatáron, amikhez már érik a 18-as sorozat gondolata. Tartok tőle, hogy ott már az ASM fogja megkötni a kezem. (Vagy ne tartsak?) Internetes forrásokban is (a 18-asok körében) szinte mindenhol C-vel találkoztam. Kontra C: Többször láttam már itt a fórumban is, hogy a C fordítónak igen is a "körmére kell nézni". Hogy valaki valamit C-ben írt, baj volt vele, és ott bújt meg a megoldás, hogy "nézd meg, mire fordul!!" Mi a véleménye erről olyannak, aki mindkét "mezőn" járatos?
C-ben sokkal komplexebb dolgokat tusz megírni sokkal kevesebb idő alatt mint ASM-ben, és mivel a 18-as család már jóval több (és bonyolultabb) perifériával rendelkezik, ezért ajánlatosabb a C, például egy USB protokollt megírni ASM-ben...(nem mondom hogy lehetetlen de nem éri meg). Természetesen az időkritikus részeket ugyanúgy lehet asm-ben írni és akkor azt a fordító nem módosítja. Én mindig is C-ben programoztam (még a 16-osokat is) és soha nem volt gondom vele
Szia! Ha már az asm megy, akkor nyugodtan léphetsz a C-re...
Van egy gyári PICKIT2-m.
A firmware-t újat töltöttem rá. Azóta a képen látható hibát dobja. Mi lehet a baja? A hozzászólás módosítva: Aug 6, 2014
Pro ASM: Ingyenes a fejlesztő, fordító.
Kontra XC: Ha a fordító tud optimalizálni, akkor fizetős ~1k$. Az ingyenes nem hogy nem optimalizál, inkább teleszemeteli a kódot.
Sziasztok!
Én is most szeretnék asm-ről C-re váltani. http://www.microchip.com/pagehandler/en_us/devtools/mplabxc/ Itt ezt írják: A free edition: minden eszközt támogat és minden parancsot, amit a fizetősek, nincs idő, és memória korlát. Az optimalizálás viszont korlátozott. A standard, és pro kiadásokban 50 és 100%-os optimalizálás van. Nyílván nem ingyen. Ha az ember szeretné a gyári támogatást megtartani javasolt , hogy ennél a fordítónál maradjon? Ti mit használtok ( Mplab xc/High-tech C)? Használja valaki a free edition-ös verziót?
Kipróbáltam a XC8 egyik első változatát. A Propeller óra bázis programját szerettem volna átírni 16F1459 -re USB kapcsolatra. Készen volt már egy 18F2550 -es változat C18 fordítóval: 7415 utasítás = 14830 byte program memória. Ez a verzió az USB mellett még UART kapcsolatot is lekezeli egyidőben, 4 analóg mérést is elvégzett. A 16F1459 esetében a korlátozott lábszám miatt a 4 analóg mérés és az UART kapcsolat nem valósítható meg. Az ingyenes XC8 fordítóval a C18 forrásból átalakított verzió bele sem fért a 8K program memóriába. Szerencsére 60 napig élvezhetjük a PRO optimalizálási elhetőséget. A C forrást szinte assembly szintű utasításokká kellett leegyszerűsíteni, hogy beférjel a program és az adarmemóriába. Hordozgatóságról annyit, hogy máskép igényli a C18 és az XC8 az utasítások leírását ahhoz, hogy rövid kódot fordítson.
A 16F648A verzió assembly változatban (nins USB kezelés) 3154, az XC verzió a 16F1847 -be Free: 7667, Standard: 4458, Pro: 4422 utasítás. Ekkor értettem meg, miért is duplázta meg a Microchip rengeteg kontrollerének program memóriáját (18F252 vs. 18F2520). Az egyes C utasítások leírási módjának kikisérletezése igen hosszadalmas volt, a disassambly lista tüzetes áttanulmányozását igényelte. Ha egy kicsit is összetett a C művelet, máris átmeneti változókat használ, felesleges műveletek garmadát fordította a kódba. Nem akartam az érdemein túl mentegetni a teljesítmányét. Kb 2-3 hét után - jött az uninstall...
Biztos jó firmware-t töltöttél rá?
A hozzászólás módosítva: Aug 7, 2014
Milyen kontrollerrel próbálod? Menjünk át a PICKIT2 klón topikba...
A hozzászólás módosítva: Aug 7, 2014
Sziasztok!
Megint kell egy kis segítség. Valószínűleg már nem látom a fától az erdőt.... Egy PIC18F46K80-assal van gondom. Az RB0-t és az RB1-et akarom digitális bemenetnek használni...de Ő annyira nem akarja. Elvileg bállítottam mindent regisztert aminek köze van 2 lábhoz.... de nem és nem bírom kiolvasni a láb állapotát. Lécci valaki szóljon valami okosat! Köszi előre is.
Az "elvileg" mit takar ( esetleg egy programrészlet ? ) ?!
Elvileg jó, de gyakorlatilag tudja a hóhér mit állítottál be. Mondok én okosat, ha nem kell a témához kapcsolódjon.
Zéro infóhoz kb zéró segítséget tudunk adni.
OK, értem. arra gondoltam, hogy valakinek esetleg van egy kész configja... De íme itt van amit én raktam össze:
Nincs benn semmi extra. Minden port minden lábát digitálisként akarom használni. Az RB0, RB1, RA0, RA1, RA2 lennének a digitális bemenetek. Ja és a CONFIG rész:
A gond az az, hogy korábban ugyanez az áramkör 18F4580-nal tökéletesen működött, de most éppen nem volt a boltban ilyen, csak 18F46K80, ami lábkompatibilis, csak a progit nem eszi meg módosítás nélkül. Már majdnem megvagyok az átírással, csak 3db nyomógombot nem bírok beolvasni... További szép estét!
ANCON0 és ANCON1 regiztereket is fel kell programozni. Adatlap 23. fejezet. Vigyázat nem az ACCESS Bank -ben vannak.
Hát... mindig Te vagy a megmentő Ott a pont. A bankváltás hiányzott. Már megy is!! Hiába, aki tud az tud!!!
Sziasztok!
Valaki tudna abban segíteni, hogy a pic 18f25k50 es változatát miért nem viszi a sima 18f-es fordító az Mplaban? Azt írja nincs érvényes fordító.
Milyen verziójú a fordító? Egyáltalán pontosan melyik fordító? C18, XC8, esetleg más? Ha régi verziót használsz a fordítóból, simán előfordulhat, hogy még nem ismeri a típust.
Sziasztok!
Valaki tudna nekem ebből a c-ből hexet varázsolni?/SourceBoost IDE fordító/ Előre is köszönöm!!
Ez a Boost fordító mintha a Flowcode fordítója lenne. Hogy hogyan lehet vele lefordítani, nem tudom, talán a program használói közül innen tudja valaki.
SourceBoost Download (az ingyenes verzió eléggé korlátozott: 2 RAM bank és 2k ROM PIC16 esetén)
Ezt én is letöltöttem, nem is tudtam vele lefordítani!
Ezért kértem a segítségeteket, hátha valaki meg tudná csinálni. Köszönöm!
Szia!
Lefordítani nem tudom, de van egy HEX forrás a kódban megadott honlapon. ITT Remélem tudod használni. Üdv:VL
Szia!
Nekem is ez van most benne, csak ezzel egy gombsor nem működik meg egy pár funkciót nem lehet bekapcsolni! ezért gondoltam, hogy hátha a C jó lenne lefordítva. De azért köszi szépen!
Win újratelepítés után van egy kis probléma a regisztrációval..Ha a support megoldja, lefordítom neked.
Nagyon szépen köszönöm előre is, ha sikerülne!
Ha a C forrás ugyanarról az oldalról van akkor valószínűleg abból a kódból lett fordítva a hex is nem? Miért gondolod, hogy ujrafordítás után működik? Nem változtattál semmit a hardware-en, hátha amiatt nem működik?
Lehet igazad van! Az egyik probléma már megoldódott a 74HC595 nem megfelelően működött kicseréltem egy más gyártótól származóra s azzal megy már!
De nem minden funkcióba tudok belépni, a szerzővel már felvettem a kapcsolatot,.
|
Bejelentkezés
Hirdetés |