[elektro] Eszemfszommegáll :)

Moczik Gabor pm_levlista at progzmaster.hu
Thu Feb 11 17:34:48 CET 2010


Tóth Péter wrote:
> Ezen még nem is gondolkodam... Meglehet, hogy hiába tanulnám meg a PIC-C 
> nyelvet, az eredménnyel nem biztos, hogy elégedett lennék...
> Ahol mindegy a programméret és nem kritikus a sebesség, ott lehet hogy 
> programozástechnikailag kényelmes a C.
> De ha a sima Fourier transzformációnál 1000 mérési pont egymillió 
> szorzást igényel, akkor szerintem a C-t alapból el lehet felejteni, 
> pláne, ha a timer-eket, meg miegymást nem lehet kordában tartani.

Ki mondta neked ezeket?

C-ben nagyjabol ugyanugy azt csinalsz a procival amit akarsz, mint 
asm-ben. Egy osszeadas sima ADD akarmi utasitasra fog lefordulni, egy 
szorzas is, ha van hardver szorzo, inkrementalas is, stb..., a timert, 
megszkitasi rendszert, mindent, ugy hasznalod ahogy akarod.

Ismerni kell persze a hardver lehetosegeit is, ugy kell programozni.
Ha 8 bites a processzor akkor nem kell nyakra-fore int-nek meg float-nak 
deklaralni mindent, persze hogy nem lesz hatekony, csak sajnos ezt az 
iskolaban is sokszor elelejtik oktatni.

Eddig amiket programoztam, mindig valami valosideju meresi-vezerlesi 
dolog volt, ertelemszeruen kritikus sebesseg mellett. Es igen, PIC16-on, 
PIC18-on is lehet rendesen C-ben programozni. Nem optimalis mindenre az 
architektura, de lehet.

Ha "gany" sorokat ir az ember, akkor megesik hogy C-ben lassabb lesz, 
ezert erdemes asm list-et kerni a forditott kodrol es megnezni. 
Elofordul hogy neha undorito (szokatlan) C sorokat kell irni a gyors 
kodhoz (pl. egy utasitas 8-szor kezzel leirva egymas utan, ciklus 
helyett), de meg mindig szebb mint asm betetben beilleszteni.

Ha a kod C-ben nem fut vagy nem fer el a FLASH-ben, akkor mar eleve alul 
van meretezve a proci... ASM-ben most belefer, de holnap boviteni kell 
valamit, es majd nem fog. Ennyi a kenyelem ara, de mivel a proci kb. 
filleres tetel, ez jelentektelen...



More information about the Elektro mailing list