Corso Professionale Programmazione Microcontrollori

Obiettivo

 

datasheetL’obiettivo del corso è fornire le conoscenze e le competenze necessarie per la programmazione di qualsiasi tipologia di microcontrollore e gestirne la comunicazione con qualunque tipo di periferica esterna (memorie EEPROM, SD Card, controllori touch screen, display a caratteri, display a colori, display a sette segmenti, sensori, led, pulsanti, buzzer, e così via) ed integrata nel micro (come Timer, Comparatori, Capture, Compare, PWM, SPI, I2C, convertitori analogico digitali e via dicendo), mediante l’acquisizione di una metodologia professionale di programmazione, basata sullo studio della documentazione tecnica ufficiale, tra cui datasheet e user manual, dei microcontrollori e dei vari componenti elettronici che comunicano con esso. Non verrà preso in considerazione alcun altro documento, in quanto la finalità è l'acquisizione della mentalità di imparare a cogliere le informazioni e trasformarle in codice basandosi sul metodo generale e professionale che consiste nello studio dei documenti tecnici standard, lasciando da parte tutorial scritti da enti terzi nel Web. Lo stesso approccio seguito per lo studio dei microcontrollori verrà usato per le periferiche esterne: verrà spiegato come apprenderne le caratteristiche e le funzionalità dalla documentazione tecnica ufficiale e come tradurre in codice le informazioni apprese.

 

boardL'acquisizione di tale mentalità permette il non condizionamento nell'utilizzare una particolare categoria di microcontrollori o di board per le quali sono disponibili in rete molte risorse (tra cui librerie già pronte e tutorial che ne descrivono in modo semplificato il funzionamento), ed è soprattutto indispensabile quando si lavora per un'azienda, in cui è fondamentale una totale "elasticità" nel sapere apprendere le funzionalità di un microcontrollore dallo studio della documentazione tecnica, rilasciata dalla Casa Madre del dispositivo, e saper giudicare in modo critico se esso ha o meno le caratteristiche minime necessarie per lo sviluppo del progetto commissionato, mediante l'analisi delle periferiche integrate che mette a disposizione, delle memorie, dei protocolli con cui può comunicare con l'esterno, tramite lo studio sulla fattibilità dell'implementazione custom di eventuali protocolli di comunicazione mancanti, e così via.

 

microcontrolloreSi parlerà anche dei file "nascosti", ossia di quei contenuti di cui in genere il programmatore non si interessa (come il file di startup, il linker script, il file di definizione dei registri, e così via); sebbene nella maggior parte dei casi non sia necessario interessarsene, esistono situazioni in cui è fondamentale conoscerli e modificarli o, eventualmente, implementarli qualora si abbia a che fare con un nuovo microcontrollore appena uscito sul mercato e si riceve il compito, ad esempio da un ente aziendale, di implementare tutto ciò che è necessario affinchè altri programmatori, che avranno a che fare con quel microcontrollore, possano utilizzarlo.

 

stretta di manoAlla fine del corso, si acquisirà la mentalità di studiare un microcontrollore dai documenti tecnici, disinteressandosi della ricerca nel Web di informazioni e contenuti semplificati che aiutano in determinate circostanze, ma in altre, in cui non si ha la fortuna di trovare questa documentazione, o quando si presentano situazioni nelle quali si ha la necessità di modificare i file e le librerie esistenti in modo da adattarli al particolare caso che si sta affrontando, comportano grandi difficoltà nella realizzazione del prodotto finale. D'altronde, soprattutto se si lavora per un ente aziendale, non è professionale ricercare tutorial, documenti e librerie già esistenti implementate da enti terzi nel Web, che possono rendere "la vita più semplice" al programmatore.

Verrà pertanto formata una figura professionale in grado di muoversi in completa autonomia nel campo della programmazione embedded ed inserirsi nel mondo del mercato lavorativo che esso offre, il quale oggigiorno è in rapida espansione.


 

 

I cookie aiutano a fornire i servizi del sito. Utilizzando tali servizi, migliori la tua esperienza di navigazione nel sito.