[elektro] 16F PIC stack
potyo
potyo.ada at gmail.com
Tue Sep 8 23:39:13 CEST 2009
2009/9/8 Huszti Andras <kyrk at villamvadasz.hu>
> Valoban valahol igaza van azoknak akik azt mondjak, hogy a 16F-es rossz
> valasztas C-hez.
>
Inkább fordítva. A C (ilyen módon történő használata) a rossz választás a
16F-hez.
>
> Makrokat nem szeretem mert a tesztelhetosege igen rossz. Ha tobbszor van
> hasznalva akkor tobbet fogyaszt mint egy fuggveny. Jo 2x-er hasznalva
> megeri talan markozni de en elvbol nem szoktam.
>
Ez pont a sebességre vagy kódméretre optimalizálás kérdése. Ha a
memóriaterületen spórolsz, akkor a stack-et miért zabálod? Spórolj azon egy
kicsit és áldozz fel némi memóriaterületet cserébe - ha egyáltalán
feláldozol, mert a függvényhívás is helyet igényel, az elhelyezéstől függően
akár több utasításhelyet is. Az elvek azért vannak, hogy legyen min
változtatni az igényeknek és a helyzetnek megfelelően :-) A mérnök és a
programozó tudjon már alkalmazkodni ehhez-ahhoz. Én is szeretem kisajtolni a
lehető legtöbbet, de ha valami nem megy, akkor veszek egy olyan chipet, ami
megfelel az igényeknek, nem kezdem azzal, hogy ez milyen szar, mert csak
ennyi van benne és akár lehetne több is.
>
> Lehetne stackel is sporolni, de akkor oda a modulrenszeru programozas.
> Valamiet valamiert.
>
Pontosan, valamit valamiért. Egyébként is a modulrendszer már túlhaladott,
mostanában a objektum-orientáltság a divat :-) De egy max. 8k
utasításmemóriával rendelkező chipre nemis lehet olyan rettenet
bonyolultságú kódot írni, aminél akkora szükség lenne a modulokra. Nekem
valahogy sosem jöttek be a modulok, mindig kellett rajtuk valamit hegeszteni
az adott helyzethez. Aztán az már majdnem ugyanaz, mintha bemásoltam volna
direktben a kódot, és úgy használom.
>
> En azt vallom, hogy nem en vagyok a mikrovezerloert hanem a uC van
> ertem. Tehat legyen benne annyi stack hogy C-ben lehessen programozni.
Valahol meg kell húzni a határt. Mert ha nem, akkor mi a következő? Lehessen
PHP-ben programozni?
>
> Esetleg azt tudom elkepzelni, hogy fejelszteshez a legnagyobb PIC az
> adott csaladban, majd ha kesz a cucc lehet optimalizalni a kisebbre.
>
Olyan sok választási lehetőség nincs, általában két-háromféle
memóriamennyiséggel létezik egy adott perifériakészletű chip. Azt meg úgyis
előre el kell dönteni, hogy milyen perifériákra van szükség és az alapján
kiválasztani a chipet. Egyedi darabnál úgyse a plusz 200Ft alkatrészáron
múlik a dolog, nagy sorozatnál meg meglehet egyet venni a fejlesztéshez,
aztán ha elég a kisebb memóriájú, akkor azt használni a gyártásnál.
More information about the Elektro
mailing list