Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   1181 / 1320
(#) karak74 hozzászólása Júl 27, 2014 /
 
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?
(#) matheattila válasza karak74 hozzászólására (») Júl 27, 2014 /
 
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
(#) watt válasza karak74 hozzászólására (») Júl 27, 2014 /
 
Szia! Ha már az asm megy, akkor nyugodtan léphetsz a C-re...
(#) borvendeg hozzászólása Aug 6, 2014 /
 
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

pickit.png
    
(#) Hp41C válasza borvendeg hozzászólására (») Aug 6, 2014 /
 
Mi lenne itt a hiba?
(#) Hp41C válasza karak74 hozzászólására (») 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.
(#) Gagyi válasza Hp41C hozzászólására (») Aug 6, 2014 /
 
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?
(#) Hp41C válasza Gagyi hozzászólására (») Aug 6, 2014 /
 
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...
(#) borvendeg válasza Hp41C hozzászólására (») Aug 7, 2014 /
 
Hogy nem ismeri fel a processzort!
(#) usane válasza borvendeg hozzászólására (») Aug 7, 2014 /
 
Biztos jó firmware-t töltöttél rá?
A hozzászólás módosítva: Aug 7, 2014
(#) Hp41C válasza borvendeg hozzászólására (») 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
(#) The_Saint hozzászólása 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.
(#) kissi válasza The_Saint hozzászólására (») Aug 7, 2014 /
 
Az "elvileg" mit takar ( esetleg egy programrészlet ? ) ?!
(#) usane válasza The_Saint hozzászólására (») Aug 7, 2014 /
 
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.
(#) The_Saint válasza kissi hozzászólására (») Aug 7, 2014 /
 
OK, értem. arra gondoltam, hogy valakinek esetleg van egy kész configja... De íme itt van amit én raktam össze:
  1. initialise_processor
  2.         movlw   0x07
  3.         movwf   TRISA
  4.         clrf    PORTA
  5.         clrf    LATA
  6.         clrf    PORTB
  7.         clrf    LATB
  8.         movlw   0x03
  9.         movwf   TRISB
  10.         clrf    TRISC
  11.         clrf    PORTC
  12.         clrf    LATC
  13.         clrf    TRISD
  14.         clrf    PORTD
  15.         clrf    LATD
  16.         clrf    TRISE
  17.         clrf    PORTE
  18.         clrf    LATE
  19.         clrf    ADCON0
  20.         clrf    ADCON1
  21.         clrf    ADCON2
  22.         clrf    ANCON0
  23.         clrf    ANCON1
  24.         movlw   0x80
  25.         movwf   INTCON2
  26.         clrf    CCP1CON
  27.         clrf    CCP2CON
  28.         clrf    CCP3CON
  29.         clrf    CCP4CON
  30.         clrf    CCP5CON
  31.         movlw   0x03
  32.         movwf   CM1CON
  33.         movwf   CM2CON
  34.         clrf    WPUB
  35.         clrf    SLRCON
  36.         clrf    ECCP1AS
  37.         clrf    ODCON
  38.         return


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:
  1. CONFIG FOSC = HS2
  2.         CONFIG PLLCFG = OFF  
  3.         CONFIG WDTEN = OFF
  4.         CONFIG FCMEN = OFF
  5.         CONFIG PWRTEN = OFF
  6.         CONFIG MCLRE = ON
  7.         CONFIG BOREN = OFF
  8.         CONFIG  RETEN = ON
  9.         CONFIG  INTOSCSEL = LOW
  10.         CONFIG  SOSCSEL = DIG
  11.         CONFIG  XINST = OFF


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!
(#) Hp41C válasza The_Saint hozzászólására (») Aug 7, 2014 /
 
ANCON0 és ANCON1 regiztereket is fel kell programozni. Adatlap 23. fejezet. Vigyázat nem az ACCESS Bank -ben vannak.
(#) The_Saint válasza Hp41C hozzászólására (») Aug 7, 2014 /
 
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!!!
(#) n_yálastrubadúr hozzászólása Aug 13, 2014 /
 
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ó.
(#) potyo válasza n_yálastrubadúr hozzászólására (») Aug 13, 2014 /
 
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.
(#) lajos1969 hozzászólása Aug 16, 2014 /
 
Sziasztok!
Valaki tudna nekem ebből a c-ből hexet varázsolni?/SourceBoost IDE fordító/
Előre is köszönöm!!
(#) Szárnyas válasza lajos1969 hozzászólására (») Aug 17, 2014 /
 
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.
(#) icserny válasza Szárnyas hozzászólására (») Aug 17, 2014 /
 
SourceBoost Download (az ingyenes verzió eléggé korlátozott: 2 RAM bank és 2k ROM PIC16 esetén)
(#) lajos1969 válasza icserny hozzászólására (») Aug 17, 2014 /
 
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!
(#) acidum válasza lajos1969 hozzászólására (») Aug 17, 2014 /
 
Szia!

Lefordítani nem tudom, de van egy HEX forrás a kódban megadott honlapon.
ITT

Remélem tudod használni.
Üdv:VL
(#) lajos1969 válasza acidum hozzászólására (») Aug 17, 2014 /
 
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!
(#) acidum válasza lajos1969 hozzászólására (») Aug 17, 2014 /
 
Win újratelepítés után van egy kis probléma a regisztrációval..Ha a support megoldja, lefordítom neked.
(#) lajos1969 válasza acidum hozzászólására (») Aug 17, 2014 /
 
Nagyon szépen köszönöm előre is, ha sikerülne!
(#) usane válasza lajos1969 hozzászólására (») Aug 18, 2014 /
 
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?
(#) lajos1969 válasza usane hozzászólására (») Aug 18, 2014 /
 
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,.
(#) hatcsupasz válasza icserny hozzászólására (») Aug 21, 2014 /
 
Megérkezett az első PIC32MZ családtag a ChipCAD raktárba.
Bővebben: Link
Következő: »»   1181 / 1320
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem