Vai al contenuto

Mauro Dalseno

iniziare con i PIC

Recommended Posts

Mauro Dalseno

Ogni tanto ho a che fare con microcontrollori PIC installati sulle più svariate apparecchiature radioamatoriali che posseggo e ultimamente mi sto interessando per conoscere il loro funzionamento. Avendo programmato PLC per parecchi anni ed essendo un appassionato radioamatore ho deciso di iniziare a metterci le mani...

Ho trovato molto interessante la programmazione in ambiente grafico (menzionata da Gabriele Riva nelle discussioni in evidenza) e ho trovato questo interessante link dove viene illustrato un ambiente di programmazione PIC Grafico che mi ha fatto prendere il coraggio di iniziare da zero. A questo punto prima di spendere soldi vorrei sentire qualche parere....

Ecco l'interessante link postato dal nostro amico Gabriele Riva qualche anno fa

Condividi questa discussione


Link discussione
Condividi su altri siti
Livio Orsini

Mauro, consiglio spassionato: lascia stare i compilatori strani che promettono scorciatoie.

Usa gli strumenti che Microchip mette a disposizione gratuitamente: Mplab e complilatore "C", che ha anche la possibilità di simulare il funzionamento del programma.

Condividi questa discussione


Link discussione
Condividi su altri siti
dott.cicala

Con gli ambienti grafici ottieni fondamentalmente due risultati:

 

1) Non capire mai veramente come funziona un MCU

2) Non sfruttare al massimo le sue risorse

 

Quoto quanto detto da Livio, ad eccezzione del compilatore C, quello free. Purtoppo non ottimizza il codice e quello a pagamento prevede un abbonamento troppo oneroso per scopi dilettantistici.

Io ho optato per la versione a pagamento di MiKroC for pic, non sarà il massimo ma ottimizza molto meglio di XC8 free e una volta pagata la licenza si ha diritto ad aggiornamenti a vita.

 

Per il resto servono solo altre 2 cose:

1) La costanza

2) il datasheet

 

Se inoltre hai programmato plc , il passo dal ladder al testo strutturato non dovrebbe esserti troppo faticoso

 

 

Condividi questa discussione


Link discussione
Condividi su altri siti
Livio Orsini
4 ore fa, dott.cicala scrisse:

Quoto quanto detto da Livio, ad eccezzione del compilatore C, quello free. Purtoppo non ottimizza il codice e quello a pagamento prevede un abbonamento troppo oneroso per scopi dilettantistici.

 

Si Stefano, è vero che il compilatore gratuito è poco ottimizzato però per iniziare, per "farsi la mano", va più che bene; prima da arrivare a stressare i programmi dove l'ottimizzazione del compilatore incide ci vorrà un po' di tempo.

 

Io uso da sempre PICC e mici trovo benissimo, però è a pagamento.

Condividi questa discussione


Link discussione
Condividi su altri siti
Mauro Dalseno

Rispondo a tutti:

ho letto molte discussioni in giro per la rete e ho notato che ci sono un mucchio di pareri e consigli contrastanti sui vari metodi o software per PIC e sinceramente sono molto perplesso su cosa sia meglio per me che sono autodidatta e devo farmi le ossa con pochissimo tempo a disposizione.

mi sembrava che come inizio una programmazione semplificata come quella grafica fosse alla mia portata, perlomeno per imparare a conoscere i vari tipi di PIC, buttare giù qualche programmino in modo agevolato e avere perlomeno una conoscenza elementare di questi chip che già so maneggiare a livello di riparazioni.

Sono coscente che poi dovrei passare a programmi più evoluti, ma l'avrei fatto più avanti con un minimo di esperienza...

Viste queste considerazioni personali, proprio vi sembra così sbagliata la mia idea per iniziare? mettetevi al mio posto che parto da zero e non sono un esperto come voi...

i vostri consigli mi saranno preziosi 🙂

Condividi questa discussione


Link discussione
Condividi su altri siti
dott.cicala

Io non mi ritengo un grande esperto; me la cavicchio.

Io ogni caso, anche l'esperto è partito da zero. 

L'esperienza la si costruisce passo passo, a seguito di innumerevoli insuccessi.

Io son partito così, senza passare dal led lampeggiante, senza leggere nessun tutorial, senza scopiazzare codice trovato in rete,

senza comprare libercoli il cui unico scopo e piazzare le loro demoboard.

 

La prima difficoltà non sta tanto nel linguaggio, ma nella corretta interpretazione del datasheet.

Quello deve essere l'unico punto di riferimento e va studiato e ristudiato.

Ti serve un programmatore sicuro e affidabile, una breadboard e tanta ostinazione.

 

Se parti con il grafico c'è il rischio che ai primi risultati positivi ti adagi e non vai più avanti, specialmente se ci investi 200 e passa €

Se nella programmazione dei plc hai usato un po' il testo strutturato, ad esempio l' SCL di Siemens,

non sarà così complicato scrivere qualcosa in C.

A costo zero c'è Ldmicro, ma supporta un numero ristrettissimo di vecchi esemplari....è "for dummies".

 

 

 

 

Condividi questa discussione


Link discussione
Condividi su altri siti
Livio Orsini
7 ore fa, dott.cicala scrisse:

Io son partito così, senza passare dal led lampeggiante, senza leggere nessun tutorial, senza scopiazzare codice trovato in rete,

senza comprare libercoli il cui unico scopo e piazzare le loro demoboard.

 

Stefano non tutti hanno la stessa modalità di apprendimento; questo è il limite più grande della scuola: applicare a tutti il medesimo metodo di apprendimento.

Io, ad esempio, devo vedere subito il risvolto pratico di quello che mi accingo a studiare altrimenti non riesco a concentrarmi.

 

Io sull'uso dei pic son stato avvantaggiato dal fatto che maneggiavo i micro Hw e Sw dal 1975 almeno, quin di un pic non era altro che un tipo differente di micro.

Non ho usato demoboard, son partito sviluppandomi un Hw con un 876 e poco altro: tastiera e visualizzatore. Ho usato solo materiale Microchip: Mplab e asm, più un ICD1 (che ho ancora) come programmatore e aiuto al debug.

L'uso di assembler è faticoso ma ti costringe ad uno stretto legame con lo Hw del micro, vedenddo tutte le porte ed i registri e le relative funzioni.

 

Io sono anche convinto che le scorciatoie non esistono: puoi risparmiare un  po' di tempo inizialmente per spenderne dieci volte tanto dopo.

Condividi questa discussione


Link discussione
Condividi su altri siti
Mauro Dalseno
il 24/5/2018 at 23:23 , dott.cicala scrisse:

 

Se parti con il grafico c'è il rischio che ai primi risultati positivi ti adagi e non vai più avanti, specialmente se ci investi 200 e passa €

Se nella programmazione dei plc hai usato un po' il testo strutturato, ad esempio l' SCL di Siemens,

non sarà così complicato scrivere qualcosa in C.

 

 

 

 

 

Qui casca l'asino (cioè io) io ho sempre programmato in KOP fino a 20 anni fa circa, è per quello che mi piace il Parsic... e mi sento vicino anche al commento di Livio che dice "

non tutti hanno la stessa modalità di apprendimento; questo è il limite più grande della scuola: applicare a tutti il medesimo metodo di apprendimento.

Io, ad esempio, devo vedere subito il risvolto pratico di quello che mi accingo a studiare altrimenti non riesco a concentrarmi"

Questo ragionamento mi calza a pennello... e aggiungo che lavoro 6 giorni alla settimana fino al Sabato a Mezzogiorno, quando torno a casa dopo le ore 20, non riesco ad imparare per più di mezzora, poi vado in coma... Ho bisogno di cose pratiche per resistere 😴

Condividi questa discussione


Link discussione
Condividi su altri siti
Mauro Dalseno

intanto ho fatto il primo errore di inesperienza, ho ordinato un programmatore non originale "il PIC K150" che va bene per un centinaio di PIC ma non fa il PIC16F886 che ho bisogno di programmare avendone un certo numero in casa e uno dal quale mi piacerebbe provare a scaricare il programma...

Ho quindi deciso di ordinare il PICKit originale ma mi sorge il dubbio, quale board ordinare per inserire i PIC16F che posseggo per poi fare pratica? e come va collegata questa bosrd al PICKit?

Condividi questa discussione


Link discussione
Condividi su altri siti
Mauro Dalseno

Ci sarebbe anche questa piccola Board che sarebbe comoda come il K150 se la innesto nel PICKit 3....

 

s-l1600.jpg

 

 

 

 

Condividi questa discussione


Link discussione
Condividi su altri siti
gabri-z

Fatiche del inizio , ma passano !:thumb_yello:

Di risposte utili a te non ne ho , ma seguo con interesse il tuo andamento; è una vita che voglio iniziare anche io , ma sono rimasto ai tempi del 8080 ,nemmeno quello imparato bene perché ho dovuto cambiare strada.

Buon proseguimento.

 

:thumb_yello:

Condividi questa discussione


Link discussione
Condividi su altri siti
dott.cicala

Per ogni pic nel proprio datasheet sono sempre riportati i pin che fanno capo alla ICSP (In Circuit serial programming)

A corredo del pickit3 e del più recente pickit4 c'è sempre un minimo di documentazione nella quale viene illustrato brevemente come collegare il prommer con il pic.

 

La schedina con zoccolo textool zif è molto comoda

 

 

Condividi questa discussione


Link discussione
Condividi su altri siti
max.bocca

Io utilizzo il pickit3 originale ma come adattatore uso quello che a mostrato tu. Ho iniziato a scrive in asm e poi per praticita uso anche pic simulator ide con compilatore basic. Non ho mai comprato board perché realizzo sempre hw ad hoc a priori (magari poi incappi in problematiche di Port ... Esempio se utilizzi la porta uart in ricezione anche quella trasmissione si configura come uart e non puoi utilizzarla per altro) 

Condividi questa discussione


Link discussione
Condividi su altri siti
Mauro Dalseno

Bene, ho ordinato il tutto, intanto mi documento un po, grazie a tutti per la partecipazione, purtroppo ho pochissimo tempo lavorando 6 giorni alla settima (Sabato pomeriggio sono a casa) ma sarò ben felice di pubblicare le mie piccole esperienze.

 

 

Condividi questa discussione


Link discussione
Condividi su altri siti
Darlington
il 24/5/2018 at 23:23 , dott.cicala scrisse:

A costo zero c'è Ldmicro, ma supporta un numero ristrettissimo di vecchi esemplari....è "for dummies".

 

Lo sviluppo di LDMicro è proseguito fuori dalla pagina ufficiale (non so se da un altro gruppo di programmatori o sempre dal creatore originale): https://github.com/LDmicro/LDmicro/releases

 

Certo i dispositivi supportati sono ancora pochini al confronto con altri compilatori, però è stata aggiornata, come anche il programma stesso che ha molte altre funzioni, tipo la possibilità di scrivere direttamente nei registri del micro.

 

Do per scontato che se uno ha necessità di usare PIC18 o PIC32 allora ha già una padronanza e conoscenze hardware e software tali da ignorare completamente ldmicro :)

 

Dal canto mio posso dire che dopo aver sbattuto la testa a vuoto sia sul C che sul Basic, LDMicro è stato l'unico programma con cui sono riuscito a realizzare qualcosa di funzionante senza spendere una tombola per compilatori grafici tipo Flowcode o Visual Parsic (dove comunque ho avuto difficoltà pure provando le versioni demo), però non siamo tutti uguali. Io sono proprio refrattario alla programmazione, o forse c'è il problema non da poco che se cerchi tutorial sulla rete per C o Basic passi di botto dal programma di tre righe per far lampeggiare un led allo spiegone di 89 pagine per costruire un robot umanoide che recita le tabelline mentre palleggia con un'arancia, senza vie di mezzo.

Condividi questa discussione


Link discussione
Condividi su altri siti

Registrati o accedi per inserire messaggi

Devi essere un utente registrato per lasciare un messaggio. La registrazione è GRATUITA.

Crea un account

Iscriviti alla nostra comunità. È facile!

Registra un nuovo account

Connettiti

Hai già un account? Connettiti qui

Connettiti adesso

×