Visualizza messaggio singolo
Vecchio 30 giugno 12, 00:19   #3 (permalink)  Top
Davide B.
User
 
Data registr.: 12-04-2006
Residenza: Mondovì
Messaggi: 103
Il linguaggio di programmazione è "quasi" lo stesso, nel senso che, a seconda del compilatore e della sua aderenza ai vari standard si somiglieranno tutti più o meno per quanto riguarda la scrittura delle istruzioni stesse.
Detto questo alcune implementazioni sono abbastanza diverse (vedi ad esempio il MikroC) per quanto riguarda la scrittura e la lettura dei registri.
Detto questo la forte differenza (chiamiamola pure limitazione) che ho notato nella programmazione in c dei pic della serie 16 e 18 rispetto agli altri microcontrollori è una limitazione di tipo architetturale, dovuta alla lunghezza dello stack che è limitata, e che quindi impone un limite più risicato nell'albero di chiamate delle funzioni stesse.
In pratica, partendo dalla funzione main con il PIC16 si possono avere annidamenti fino a 5 livelli, nei pic più grandi il numero cresce, ma non si può andare più il la di tanto.
Negli atmel tipo il 328 la ram è suddivisibile come nei micro più "seri", o meglio, nella maggioranza di essi.
Inoltre, generalmente, a parità di costo sembra che la atmel fornisca più RAM e più FLASH (ma di questo non sono sicuro).
Infine, paragonando la serie ATMEGA con la serie PIC16F il compilatore è probabilmente più efficiente(sulla 18 non ci scommetto avendoli usati poco).
Davide B. non è collegato   Rispondi citando