Primi passi: come orientarsi nella documentazione

6 Anni 7 Mesi fa #1 da Dan84
Buongiorno, da qualche mese ho cominciato ad interessarmi ai microcontrollori ed ho scelto di cominciare dai PIC.
Ho qualche esperienza di programmazione su diversi linguaggi compreso il C ma mai orientati al lato embedded.
Quando ho qualche problema sono discretamente abituato ad arrangiarmi a cercare nella documentazione dei vari linguaggi e framework ma per qualche motivo sto trovando difficile a fare altrettanto con la documentazione dei PIC.
Ho cominciato a vedere qualcosa con i PIC16F ma dopo qualche settimana mi sono deciso di saltare direttamente ai PIC32 perchè mi risulta più facile trovare una scheda sulla quale sviluppare e poi perchè sembra (ma può darsi si tratti solo di una mia impressione) presentare più sbocchi anche in ambito lavorativo.
Dunque PIC32. Qual'è il problema ? Come dicevo faccio fatica ad orientarmi nella documentazione ufficiale.
Sono abituato al classico manuale di programmazione con tutte le sue spiegazioni tirate a lucido, gli esempi e tutto il resto (infatti quello che ho capito fino adesso lo devo al libro di Lucio Di Jasio) ma più vado avanti e più mi accorgo che in qualche modo manca una specie di ponte tra quanto leggo nel testo ed i papiri ufficiali.
L'esempio del timer sul libro, per esempio, mi sta dando diversi grattacapi: capisco la volontà di semplificare per arrivare ad un risultato ma alla fine mi risulta complicato collegare insieme i pezzi di quanto ho letto.
Cerco sui reference manual, sia della famiglia che dello pic specifico ma dopo un po' mi perdo, non riesco a capire effettivamente che giro devono fare i valori che passo, come cambiano e cosa influenzano.
Solo per capire cosa facevano una manciata di configuration bits c'ho impiegato tre giorni.
C'è anche da dire che la stessa microchip non aiuta perchè proprio del pic32, sul sito ufficiale, non si trovano tutti i reference manual: ne sono segnati poco più di una trentina ma poi si scopre che alcuni non ci sono, inoltre su un altro sito ne ho trovato un'altra trentina e a sto punto non so più cosa aspettarmi, se li ho trovati tutti oppure no.
Sicuramente mi mancano diverse basi di elettronica (e sto cercando di riparare) ma non so quanto questo sia strettamente legato al problema di lettura dei manuali.
Certo è che mi basterebbe trovare delle guide in giro che, passo a passo, mi facessero capire il ragionamento che va seguito quando si vuole lavorare con un microcontrollore, tirando in ballo la documentazione ufficiale e facendola capire veramente, come intendere un datasheet, come organizzarsi dentro decine se non centinaia di pagine di reference, come sfruttare un diagramma a blocchi per capire come gestire i vari passaggi. Se fossero anche basate sul PIC32 la cosa sarebbe magnifica. Non me ne vogliano i fan del PIC16, 18 e tutti gli altri ma in questo momento necessito solo di fare ordine mentale e possibilmente non restare confinato in qualcosa di troppo vecchio che mi obbligherebbe ad aggiungere carne al fuoco o ad affrontare particolari problematiche con metodi "speciali": ho visto qualcosa riguardo la gestione degli interrupt del 18 su settorezero, molto interessante, ma per adesso, mi spiace, preferisco di no anche per quanto riguarda l'assembly, mi accontento del C.

Qualcuno ha qualche idea, consiglio, link utile da girarmi ? Grazie

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Dan84
  • New Member
  • New Member
Di più
6 Anni 7 Mesi fa #2 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Primi passi: come orientarsi nella documentazione
Salve Dan,

per iniziare il modo delle MCU e volerle capire, iniziare con i 32 bit potrebbe essere complicato.
Il materiale disponibile per i 32 bit è spesso non "passo passo" visto che presume che il programmatore abbia già esperienza. In particolare i PIC32 non sono la scelta migliore se hai intenzione di vedere un futuro lavorativo ST32 della ST sono più gettonati. Per il mondo ad 8 bit i PIC16, PIC18 ed Atmel in generale (ora Microchip) sono una buona scelta.

Il datasheet e la user guide non sono idonee per imparare a programmare. Dovresti prendere anche la user guide del compilatore...ma ti mancherebbe ancora la colla per il tutto, che è appunto quello che avverti come difficoltà.

Anche se vuoi programmare i PIC32, visto che l'ambiente di sviluppo è lo stesso, ti consiglio di iniziare a leggere il libro che ho scritto " XC8 step by step ". Nel testo trovi i mattoni mancanti che ti stanno creando difficoltà. I primi capitoli sono piuttosto generici e "agnostici" alla MCU.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
6 Anni 7 Mesi fa - 6 Anni 7 Mesi fa #3 da Dan84
Uhm capisco, quindi quando pensavo che i pic a 8bit fossero a fine corsa (ed il 18 addirittura qualcosa del tipo "gli hanno tirato il collo") ho preso un granchio colossale giusto ?

Quello che spero di trovare in questo testo è qualcosa di questo tipo:

riga di sorgente -> commento vicino -> riferimento a datasheet e spiegazione sul perchè quel registro esiste, il suo scopo... perchè qui più che altrove devo sapere cosa scrivo, dove, quando e perchè, se non altro per non buttare spazio.

E' una settimana circa che mi scervello che riuscire ad accendere coscientemente un led premendo un bottone e non puoi immaginare i nervi che mi da trovare pezzi di sorgente piazzati per dogma, tentare una ricerca testuale di queste variabili in centinaia di pagine di reference per trovare cose tipo "SBADABUM a 1 attiva SBADABIM" o il vuoto pneumatico. Dopo un po' si comincia a sentirsi presi in giro: anni fa avevo i manuali del AS400 e mi ricordo la bellezza di due scatoloni di dossier a corredo proprio di una pletora di comandi semplicemente impronunciabili mentre qui quasi devo ringraziare di avere un riferimento di una riga.
Mi sembra di essere una scimmia che sta cercando di scrivere shakespeare o più umanamente di voler trovare il significato ad una parola e vedersi proporre la divina commedia come fonte di tutte le risposte.
Non posso sentirmi un dio solo perchè riesco a far lavorare insieme due periferiche non per caso.
Adesso mi consigli il micro di ST, sarei anche curioso di vedere quello ma il punto rimane lo stesso: in ST sanno scrivere meglio la documentazione o è proprio una cosa comune fare le cose, secondo me, a metà ?

Riguardo al PIC18 che scheda potrei cercare per fare esperimenti ? Qualcosa di semplice stile arduino, chipkit, da usarsi con una breadboard, non explorer 16 e development board con roba già montata sopra.

Grazie ancora
Ultima Modifica 6 Anni 7 Mesi fa da Dan84.

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Dan84
  • New Member
  • New Member
Di più
6 Anni 7 Mesi fa #4 da Mauro Laurenti
Risposta da Mauro Laurenti al topic Primi passi: come orientarsi nella documentazione
Il "problema" delle MCU a 32 bit è che i vari registri di configurazione sono a 32 bit quindi ci si sbizzarrisce nelle opzioni possibili. Questo porta anche a perdersi...

Quello che cerchi lo trovi nel testo che ti ho indicato. Per questo l'ho chiamato step by step.
Spiego l'architettura e il software.

Gli 8 bit sono ancora molto usati, ma certamente i prezzi che si abbassano rendono i 32 bit attraenti.
Per esempio ST ha perso contro gli 8 bit Microchip e Atmel, quindi ha puntato molto sui 32 bit. Li ha resi anche molto economici ma gli 8 bit rimangono più semplici ed economici....probabilmente per una bella decade.

Capito gli 8 bit non impazzirai sui 32bit...o almeno di meno.

Per la scheda guarda Freedom III o Freedom II su cui si basa il testo. Guarda anche gli esempi della libreria LTlib .

Per le schede dovrei avere i PCB dei prototipi, se vuoi te ne regalo uno. Poi tu pensi a comprarti i componenti che ci vuoi montare.

Saluti,

Mauro

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Mauro Laurenti
  • Avatar di Mauro Laurenti
  • Moderator
  • Moderator
Di più
6 Anni 7 Mesi fa #5 da Dan84
A dire la verità la lunghezza dei registri è il minore dei problemi: è proprio il significato concettuale dei registri stessi a essere un disastro. Fossero anche tutte quante variabili da un bit è proprio la mancanza di una spiegazione dietro a renderli ostici. Ho notato che in media la maggior parte delle cose si fanno impostando si e no 4 registri (forse 6-8 nei casi più complicati) ma essendo questi buttati senza una logica apparente e corredati da due righe tali da far capire chi influenza cosa, viceversa e come, diventa una roulette.
Aggiungiamoci poi il fatto che non ho avuto chissà quale formazione di elettronica e quindi devo anche andarci con i piedi di piombo per capire se l'origine del problema viene da dentro o fuori il micro, la cosa diventa stancante e per nulla divertente. Non mi stupisce il successo di arduino...
Comunque bando i piagnistei, se optassi per la Freedom III il libro sarebbe ancora facilmente utilizzabile o è meglio andare di Freedom II ?

Si prega Accedi o Crea un account a partecipare alla conversazione.

  • Dan84
  • New Member
  • New Member
Di più
Moderatori: Mauro LaurentiMatteo Garia

Registrati al sito

Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.

Registrati al sito LaurTec.

Login