da
Brianz » 11 apr 2016, 16:24
mi conviene o no usare queste librerie...o faccio meglio ad imparare direttamente a operare con i registri?
Non mi pare che le due cose siano alternative. Sono complementari.
Tutto dipende da cosa vuoi ottenere dal microcontroller.
Se vuoi conoscere a fondo un chip, occorre forzatamente conoscerne le risorse e il modo di accedervi. Quindi occorre avere idea della struttura, dei registri, ecc.
Altrimenti ci si limita ad usare passivamente le librerie già pronte per poi arrestarsi nel momento in cui occorre qualcosa di diverso. Questo perché si sanno mettere assieme istruzioni in C, ma non si ha la minima idea di come funzioni il microcontroller (e, peraltro, spesso, anche l'elettronica...).
Mi si permetta la malignità: è il caso di gran parte degli arduinisti che non hanno idea di cosa ci sia dietro ai pin a innesto della scheda...
In ogni caso, sia che tu utilizzi un Assembly o un C, quando hai una applicazione un poco più che banale, ti troverai costretto ad scrivere driver per usare, ad esempio, l'USART o I2C, LCD o altro. A meno di fare programmi usa e getta, che non è certo il modo migliore di operare; scrivere codice riutilizzabile è essenziale.
Usando C è evidente che le librerie già pronte.
Peraltro, o ti fidi di quello che offre l'ambiente del linguaggio oppure le riscrivi ex novo. ma non mi pare che ci sia molto da lamentarsi, in generale, delle librerie, almeno per gli usi correnti.
A mio parere: si può fare qualche cosa usando solo le librerie senza avere la minima nozione di cosa fa il micro: C+librerie costituiscono un layout di astrazione dall'hardware molto forte.
Però, lo scopo di un microcontroller è quello di controllare un processo e questo è legato all'hardware connesso. Per poter usare seriamente le risorse a disposizione, la loro conoscenza è indispensabile.