korak Nis
Član broj: 125522 Poruke: 622 *.dynamic.sbb.co.yu.
|
Opredelio si se za PIC, OK tako svi pocinju.
Sto se jezika tice nemas nikakav izbor: asembler i C. Ustvari tu nema izbora, moras znati oba, jer ce ti trebati. Pocni sa asemblerom, vise ces nauciti, i lakse ces preci na C.
Sto se tice asemblera, svi su uzasni, isti su kao i pre 20 godina. C je standard, i spada u jezike srednjeg nivoa, dakle pogodan je za programiranje mikrokontrolera. Sintaksa mu je grozna, ali ne postoji bolje. Baziran je na linkerima razvijenim 50-tih godina proslog veka, pa se zbog kompatibilnosti jos uvek drzi koncepcije: prevod izvornog koda u objektni, pa zatim povezivanje objektnih fajlova linkerom i generisanje izvrsnog koda. Greske koje C prijavljuje ponekad su zbunjujuce, narocito greske koje prijavljuje linker mogu da budu takve da ne upucuju na mesto greske, vec sasvim na nesto drugo. Moderni jezici nemaju ove probleme, jer direktno prevode izvorni tekst u izvrsni kod. Kad radis u C-u budi spreman da ce i najbolji C kompajler da generise najmanje 20% duzi kod od odgovarajuceg pisanog na asembleru. Gubitak u broju ciklusa je cesto i veci.
Kada koristis PIC i C vodi racuna da imas sto manje lokalnih varijabli deklarisanih u funkcijama, i da funkcije imaju sto manje fiktivnih parametara. Sve iz razloga sto PIC ne moze da cuva lokalne varijable na steku, pa C kompajler za to koristi drugi mehanizam koji mu u znatnoj meri samnjuje efikasnost.
Inace, ako radis samo sa PIC-om, neces imati neku veliku korist od C-a. Uvek mozes da u jednom projektu koristis potprograme koje si razvio za neki drugi projekat. i da tako povecavas efikasnost programiranja. C dolazi do izrazaja kada slican projekat (ili isti) zelis da uradis sa drugim mikrokontrolerom. Tada isti izvorni kod, uz neka prilagodjavanja, pisan za jedan projekat mozes koristiti za drugi.
Dakle, izbora nemas.
Pozdrav.
|