|
Il c per microcontrollori è un mondo a se stante. A parte le strutture condizionali e la maniera di scrivere le istruzioni matematiche, il C per microcontrollori va affrontato tenendo riguardo dell'architettura dei microcontrollori stessi.
Due esempi:
Quante chiamate di funzioni annidate puoi fare in un programma C in windows e quante in un programma per PIC?
Per farlo devi sapere come funziona lo stack nei pic, ovvero quanto è profondo.
Perché un programma in debug funziona ed in release no?
Perché cambiano le opzioni di ottimizzazione, e magari una variabile che può cambiare sotto interrupt va dichiarata volatile.
Comunque, un buon punto di partenza è quello di trovare un compilatore discreto e cominciare ad usarlo (mikroc, ma anche altri) e di non spaventarsi a chiedere.
Per quanto riguarda la sintassi, il C è il linguaggio con meno istruzioni che conosco (quasi), per cui una spolverata di K&R e le ricerche su internet alla bisogna possono supplire abbondantemente.
Questo avendo la pazienza di studiarsi i datasheet del core e del micro, se no, quando le cose si fanno complicate, i firmware non funzionano e non si sa perché.
Tanto per essere chiari, la gestione della memoria me la studierei per bene.
Ed anche il passaggio di parametri alle funzioni.
|