Non posso che essere d'accordo con [user]gohan[/user] e
TardoFreak: l'assembly è importante, in quanto permette di conoscere a fondo come è strutturato il microcontrollore. Se si commettesse l'errore di iniziare direttamente con il C si rischia di capitolare, trovandosi di fronte a problemi legati proprio alle caratteristiche del micro. Nel tuo caso, il passaggio è (per tua fortuna, secondo me) meno indolore.
Fatta questa premessa, e dato che tu conosci già l'assembly, questi secondo me sono i maggiori vantaggi:
- riduzione del tempo nello sviluppo di un'applicazione;
- possibilità di utilizzare librerie "molto potenti" di interfacciamento periferiche (e non solo);
- portabilità del codice;
- agevolazioni nell'uso di operandi in virgola mobile.
Tra i "contro" annovero quanto segue:
- se non si proviene dall'assembly, valogono tutti i limiti già elencati prima;
- un compilatore non ottimizzato potrebbe sprecare troppe risorse (RAM e FLASH);
- le librerie a volte importano parte di codice inutile alla tua applicazione;
- rischio di "farsi prendere la mano" e di aumentare a dismisura il codice (che scritto in C sembra molto più compatto) e di saturare il micro.
Ciao.
Paolo.