Newsgroup: it.hobby.elettronica.digitale
Titolo: Passo più lungo della gamba ? C++ e microcontrollori

Premessa. Vorrei imparare a programmare microcontrollori tramite compilatori
c/c++.
Ho qualche vecchia reminescenza di programmazione C su Dos e Assembler su
Z80 ma credo sia necessario un inizio da zero su tutto.
Ho a disposizione un Codewarrior x Freescale(Motorola) 32 con scheda demo e
debugger USB.
Partire direttamente sul compilatore con l'hardware collegato per imparare
prima il C++ e poi qualcosa di più sull'hardware è mettere troppa carne al
fuoco ??
Pensavo di comprare un manuale c++ (quello di sturmtruppen !! ) e poi
eventualmente un manuale di c specifico sui compilatori per
microcontrollori. Qualche consiglio sul titolo ?
E' meglio iniziare con qualche micro più semplice ? Forse PIC ?
Qualcuno ha già fatto qualcosa di simile ??
Ciao Luca

 c/c++.
intanto leggiti questi vecchi contributi.
http://groups.google.it/group/it.hobby.elettronica/search?hl=it&group=it.hobby.elettronica&q=c%2B%2B+microcontrollori&qt
_g=1

 c/c++.
Ti do alcuni consigli, per quello che ho visto nella mia esperienza:
- Programmare microcontrollori è molto più C che C++
Anche se i compilatori si sono molto evoluti, a volte restano esclusi molti
aspetti del C++ da quanto è realmente disponibile.
In linea generale gli aspetti sintattici sono bene o male rispettati, mentre
sono tipicamente fuori parti della libreria standard (es stream) o features 
quali
il polimorfismo.
Chiaramente questo varia molto cambiando compilatore e/o microcontrollore.
- E' importante NON dare per scontate alcune cose.
Ad esempio, solitamente si da per scontato che un int sia a 32 bit. Questo 
su un
microcontrollore può essere chiaramente falso. Ma più che altro può generare
degli errori che su x86 non si verificherebbero.
Particolare attenzione va data alle operazioni su singoli bit.
- Mentre su un x86/Windows-Linux preferirei praticamente sempre il C++ al C,
l'uso di vector invece degli array, la strutturazione in classi invece che 
funzioni separate,
quando si parla di microcontrollori non ne andrei così certo. Tipicamente è 
più
importante dare attenzione ad aspetti quali la quantità di memoria 
utilizzata e l'avere
tempistiche più o determinabili a priori o comunque un flusso di esecuzione 
più
facilmente tracciabile.
- E fondamentale capire bene la struttura del microcontrollore e 
dell'hardware che
ci sta attorno. Quindi lo studio dei datasheet non è affatto da lasciare per 
ultimo, anzi!
- I compilatori più belli forniscono come libreria quello che si può 
considerare
come i "driver" del microcontrollore.
Questo è comodo e va certamente utilizzato.
Altrettanto vero è però che capire ad esempio come implementare un array
di timer software utilizzando gli interrupt e un solo timer hardware può 
risultare
istruttivo.
- Manuali fondamentali sono il Kernighan Ritchie e lo Stroustrup.
Il primo serve anche nel caso si voglia utilizzare il solo C++, ma solo come 
reference.
Questo in linea generale.
Poi dipende, come al solito, da quel che ci si deve fare.
Spero di essere stato utile.
-- 
Gerolamo 

Gerolamo ti ringrazio per il tuo post.
Vedo che è meglio pensare al C e non al C++
Il dubbio che mi rimane è se è meglio imparare il C con codice per PC da
"hello world" fino ad avere una certa dimestichezza con linguaggio e poi
cercare in un secondo momento di hardwerizzarlo.
Il microcontrollore credo abbia dei limiti più fisici, più da oscilloscopio
che da monitor.
Mi chiedevo se è possibile partire da un "hello world" fatto di led e
transistor tramite un qualche tutorial o testo. Purtroppo capisco che tutto
ciò è molto dipendente dal tipo di compilatore e/o micro e quindi difficile
da generalizzare.
Cercando qua è la ho trovato un testo Programming Microcontrollers in C
(Embedded Technology Series) Ted VanSickle ed alcuni altri che credo simili.
Il dubbio è che diano per scontato le basi del C (che non ho !)
Ciao
Luca

"Luca" <sombrero72TO...@virgiGlio.it> ha scritto nel messaggio
news:dj82km$7nm$1...@domitilla.aioe.org...

Questo libro:
Jones, J.; Seiger, B.; and Flynn, A. 1999. Mobile Robots, Inspiration to
Implementation, 2nd ed. Natick, Mass: A. K. Peters
secondo me risponde a molte tue domande; un tempo era possibile scaricarlo
gratuitamente, adesso non ne sono sicuro...
-- 
Capoccetta

Qualcuno ha già fatto qualcosa di simile ??
In tanti lavorano con i µC e il C, è la normalità.
Per il linguaggio C, oltre al Kernighan-Ritchie, ti consiglio di leggere il
testo introduttivo di Fiorella Sartori:
http://alpha.science.unitn.it/~fiorella/guidac/indexc.html
--
ciao
  Stefano