Avvisinarsi ai PIC

Salve a tutti, vorrei avvicinarmi al mondo dei pic e vi anticipo che ho già usato altri microcontroller, dunque ho già un po' d'esperienza in questo ambito.

Ho cercato con google e devo ammettere che ci sono moltissime scelte per quanto riguarda i programmatori e per quanto riguarda le risorse disponibili a questi micro.

Ora chiedo a voi del newsgroup, che abbiate già avuto esperienze con i PIC, così da consigliarmi un qualche programmatore che possa programmare quanti più modelli della microchip e che abbia un prezzo il più possibile contenuto.

Mi interesserebbe sapere anche con quali modelli di micro e linguaggi di programmazione vi siete trovati meglio e perché.

Chi ha qualche minuto di tempo, se gli va, vorrei che esprimesse la propria esperienza e mi desse qualche consiglio per iniziare.

Grazie per l'attenzione e per l'aiuto.

Reply to
SBS
Loading thread data ...

ho usato questo

formatting link

autocostruito su una millefori

col PP18 come software , con alterne vicende

pic18 e C

il primo perche' comunque fornisce una certa abbondanza di risorse ( sopratutto RAM )

il secondo perche' l'assembler dei pic non lo digerisco proprio dopo una quindicina di anni di processri cisc :-) e comunque ben scritto il C mi permette una buona portabilita' tra architetture differenti

non mi piace molto la relativa difficolta' nel realizzare sistemi con ROM ( flash ) esterna per il firmware, che e' la modalita' di lavoro che preferisco, in quanto tendo a realizzare sistemi a microprocessore piu' che sistemi con microcontroller 'puri'

trovo invece abbastanza interessanti i pic24, tante risorse a prezzi contenuti anche se non ho avuto ancora la possibilita' di provarli

Reply to
mmm

Il giorno Fri, 13 Jul 2007 15:13:09 +0200, "SBS" ha scritto:

Uso un programmatore autocostruito basato sul ProPic2. Si interfaccia al pc tramite porta parallela. Se vuoi acquistare qualcosa di già bello e pronto una possibile scelta è il PicKit2 della Microchip, oppure l'ICD2, che però costa di più; se non ricordo male entrambi hanno l'interfaccia USB.

Utilizzo l'assembler incluso nel pacchetto MPLab, però esistono compilatori C sia in versione demo (limitata) che a pagamento.

Innanzitutto studia l'architettura dei pic, inizia con un modello semplice, ad es. il 16f628a. Poi impara il liguaggio assembly. Se installi la suite MPLab della Microchip, gratuita, hai a disposizione sia l'assembler che il simulatore, quindi puoi iniziare a scrivere i primi programmi e provarli passo passo, per controllare se fanno quello che devono fare, senza utilizzare hardware reale. Quando il tuo programma è scritto e collaudato, lo puoi scrivere nella flash del pic con il programmatore.

Il classico programma per iniziare è quello che fa lampeggiare il led, tanto per entrare... in confidenza; in Rete trovi una marea di programmi di esempio e applicativi, inizia a guardare su:

formatting link
formatting link
se vuoi pilotare i display lcd alfanumerici

Reply to
Luigi C.

Il giorno Sat, 14 Jul 2007 15:18:52 GMT, Luigi C. ha scritto:

Sostiuisci il primo indirizzo con

formatting link

e aggiungi il seguente

formatting link

Reply to
Luigi C.

"Luigi C." ha scritto nel messaggio news: snipped-for-privacy@4ax.com...

[cut]

ciao, anche io mi sto incuriosendo ai PIC, e visto che hai messo in mezzo l'argomento assembly ti chiedo: pensi che l'esperienza fatta programmando in assembly per gli x86 su pc IBM possa essermi utile per cominciare? ho visto in un altro messaggio un abbozzo in pseudo codice, e mi sembrava tutto sommato abbastanza familiare anche se ho notato un "orrendo" goto. Mica c'è davvero? :(

Non ho voglia di spendere soldi e tempo per installare un compilatore C. Poi, eventualmente in seguito, se mi appassiono...:)

ciao e TIA Chance :O)

Reply to
ILikeToWatch

i principi fondamentali della programmazione sono identici l' implementazione e' un po' differente e' una conseguenza del passaggio da una architettura CISC a quella specifica RISC del pic

perche' con gli x86 non hai mai usato l'istruzione jmp ? :-)

se scegli i micro della famiglia 18 il compilatore C e' gratis fornito direttamente da microchip

Reply to
mmm

[cut]

insomma come prevedibile e poi poche istruzioni alla mia età sono una buona cosa...;-) Ma esiste qualche versione di assembler che preveda anche l'uso di macro? E' compreso anche un debugger nel pacchetto? E per caso cèe qualcosa che gira anche sotto Tiger (iMac)?

i salti incondizionati li usavo il meno possibile, anche in assembly, e dopo anni che ci hanno martellato in testa che il "goto è male, la struttura è bella", la sola parola mi provoca un senso di nausea. Anche perchè lavorando a basso livello ci vuole molta scrupolosità nel gestire il contenuto dei registri e dello/degli stack. Quando sono poche linee di codice non ci sono grandi problemi, ma se fai qualcosa di più impegnativo: goto => guai. :)

E poi sono più di 10 anni che non programmo in nessun linguaggio. Ero diventato un tranquillo utente normale e un pacioso navigante. Poi, navigando navigando mi è tornata la febbre dell'elettronica...:P

se mi dai qualche link preciso ti sarò grato. Non mi oriento ancora molto nel sito Microchip: ieri notte provai a cercare quel PicKit2 di cui hai scritto ma il motore interno non lo trova: forse ha una sigla diversa?

E ora vado a tentare l'impossibile: ho appena bruciato un BD142 e se non fosse domenica non ci sarebbero problemi...spero che il magico armadio dei relitti "che "un giorno potrebbero servire..." mi salvi. :)

ciao e grazie Chance :O)

Reply to
ILikeToWatch

"ILikeToWatch" ha scritto

L'assemblatore Microchip supporta le macro e le ridefinizioni dei termini, se proprio non vuoi scrivere la parola GOTO la puoi sempre ridefinire con altro nome :-D

In realta' l'assembler dei PIC, essendo a ridotto numero di istruzioni, richiede di usare molti piu' GOTO del "normale", infatti non esiste un salto condizionato del tipo "salta all'indirizzo xyz se carry settato", esiste invece un'istruzione che dice: "salta l'istruzione successiva se carry non settato", e l'istruzione da saltare puo' essere proprio una "GOTO xyz"...

Ricapitolando: in assembler PIC ogni salto condizionato e' composto da una GOTO da saltare se la condizione e' falsa...

Venendo da altri assembler il tutto sembra involuto e complicatissimo... MA! ci si fa l'abitudine, si scoprono modi di strutturare il codice a cui non si era mai pensato, e non dovendoli usare per lavoro dove essere produttivi e' indispensabile... ci si puo'anche divertire (considerando anche il basso prezzo e la grande diffusione).

ciao Claudio F

Reply to
Claudio F

"Claudio F" ha scritto nel messaggio news:469b84f0$0$36449$ snipped-for-privacy@reader5.news.tin.it...

buona notizia :)

mi "rassegnerò" ;-) comunque essendo un RISC mi aspettavo qualcosa del genere e poi si impara. C'è solo il problema che un cervello a 20-30 anni è molto, molto, molto più efficiente che a 59 :( In fondo sono stato fortunato, avendo scopeto l'informatica intorno ai 30 anni: ma solo allora cominciava a diventare accessibile anche da noi. Oggi un programmatore con più di

30 anni spesso viene considerato "obsoleto".

chiaro :)

di cose "complicate" credo di averne incontrate. Tieni conto che ai miei tempi non c'era Internet e dovevi cercarti tutto su enormi manuali ad anelli e spesso su fotocopie di 3a mano :Oooo

hai detto la cosa più importante! per piacere personale e non per lavoro. Si impara meglio e prima. In fondo anche allora comiciai così: era un hobby e poi dopo alcuni anni divenne un nuovo lavoro. E spesso un incubo. I messaggini del capoprogetto sul terminale appena acceso ancora me li sogno a volte... ;)

ciao e grazie per tutte le informazioni Chance :O)

Reply to
ILikeToWatch

"ILikeToWatch" ha scritto

Ecco che si apre la parentesi nostalgica.... lo ritengo uno dei periodi piu' istruttivi che ci siano stati, sia a livello elettronico che microinformatico, quando sistema operativo e linguaggio di programmazione erano praticamente la stessa cosa e l'hardware era ancora "accessibile" agli smanettoni (certo le informazioni erano da strappare qua e la con i denti).

Gli attuali ventenni, arrivati in eta'cosciente che il PC (e magari anche internet) erano un dato di fatto, non possono immaginare cosa voleva dire ambire ad un Sinclair ZX-80 con 1k di memoria, interfacciarlo con circuiti esterni, e ottimizzare il codice con alchimie al limite dell'arte :-D

Da questo punto di vista mi ritengo fortunato anch'io... e forse e' anche per questo che col tempo, assuefatto (e quasi nauseato) da gigabyte e GHz che fanno girare sistemi traballanti e vulnerabili, trovo piu' gratificante realizzare qualcosa funzionante con 50byte di ram, ma (perdio e qui ci vuole) come si faceva una volta ;-)

ciao Claudio F

Reply to
Claudio F

"Claudio F" ha scritto nel messaggio news:469bced8$0$37205$ snipped-for-privacy@reader3.news.tin.it...

sono d'accordo tutto quello che hai scritto.:) E chiuderei questa parentesi facendo alcuni nomi (alcuni ancora vitali) che contribuirono a rendere così straordinario quel periodo: la Jackson Libri, Masson, Tecniche Nuove, MC microcomputer, Zero-Uno, Informatica Oggi e tanti altri che ora mi sfuggono. E per finire per me è doveroso ricordare il nome di una grande donna che se fosse vissuta forse avrebbe dato un grande e diverso impulso all'informatica italiana: Marisa Belisario.

formatting link

ciao Chance :O)

Reply to
ILikeToWatch

le macro sicuramente supportate ma nno cambiano molto la gestione delle strutture di controllo ( vedo che ci tieni molto )

devo dire la verita nno riesco neanche a pronunciare gli mnemonici dell'assempler dei PIC :-) movwl???, preferisco di gran lunga le vecchie CPU, RISC o CISC poco importa!

quello che conosco gira sotto windows

MPLAB: IDE, assemblatore, simulatore per praticamente tutti i micro prodotti

a parte ci sono i compilatori C per PIC18 PIC24 dsPICxx, le loro versioni 'student' sono gratuite

NO , per me e' un errore grave che ci inculcano, si puo' programmare in maniera strutturata e pulita ANCHE senza un linguaggio di programmazione strutturato.

per me e' piu' una faccenda di ordine di pensiero che di strumenti, per la serie si possono realizzare schifezze illeggibili usando i paradigmi della programmazione strutturata in qualsiasi linguaggio e realizzare cose egregie in linguaggi che non conoscono questo concetto, basta lavorare con ordine e pulizia

a parte il fatto che alcuni algoritmi vengono particolarmente bene usando costrutti di salto ( uno fra tutti le macchine a stati finiti che sono di loro natura con una struttura non lineare ( non sequenziale se vuoi )

una proposta oscena:

per cominciare nel mondo embedded in maniera 'soft', un PC vecchio max

486, un compilatore C e ti interfacci col mondo esterno via porta parallela.

probabilmente postresti fare tutto a costo zero ed provare questo mondo senza patemi d'animo.

ok non puoi montarlo in un frutto per la 220, ma non si puo' avere tutto dalla vita :-)

poi se ci prendi gusto passi ai micro veri e propri

cerca tra i developement tools e poi nella parte hardware.

comunque io seguirei la seguente strada:

niente dev. board gia' fatta, vai di millefori cosi' realizzi la tua scheda come piu' ti piace ed al contrario ti prendi l'ICD2 in modo che potrai programmare un po' tutti i micro della microchip

e partirei comunque dai micro della serie PIC18

al solito se per caso sei napoletano io ho parecchio surplus

Reply to
mmm
[cut]

a me piace partire dalla struttura scritta in pseudocodice. Ho faticato tanto per imparare a farlo a suo tempo che difficilmente ci rinuncerei.

ancora non le conosco quelle dei PIC. Quanto alle CPU sarei d'accordo, anche se non sono sicuro che ora tirerei fuori qualcosa di decente. Quando non si programma per tanto tempo si perde "la mano". E 10 anni sono tantissimi. E poi ho un'altro problema collaterale: sto cercando i nastri per una vecchia centronics ad aghi perchè io un listato lo voglio leggere sui soffietti (tra l'altro ne ho ancora dei cartoni in cantina) ma sembrano introvabili. I fogli a A4 mi farebbero impazzire, lo sento.. ;)

e dovrei barare? difficile che io passi per student :)

[cut]

sono d'accordo al 100%. Io passai un programma per un amico che lo aveva scritto nel basic che passavano col DOS. Era un orgia di goro e si inchiodava in continuazione. Praticamente lo riscrissi in Turbo Basic e tutto strutturato. Ci misi anche le dichiarazioni della variabili anche se non era necessario. I pacchetti della Borland erano molto buoni e soprattutto avevano ottimi manuali. Dopo, a lavor finito, non c'era nemmeno un goto. Mi ha detto che gira ancora fra gli audiofili.

Per me il goto si può ammettere solo per routine di errore, con terminazione del programma e casomai dumping della memoria su un file appositamente creato.

continuo a condividere...:) Per me la programmazione strutturata viene prima della scelta del linguaggio. Deve funzionare sulla carta. E poi quando si implementa 2 cose indispensabili: Leggibilità e molti commenti. E' incredibile quanto rapidamente un programma scritto da noi diventi semiincomprensibile se non lo hai adeguatamente documentato. Strutturato o meno. Certi in C riuscivano a scrivere dei rebus perfettamente funzionanti ma solo loro potevano metterci gli occhi e le mani.

ora mi hai ricordato il libro di Hofstadter. Fu dopo la lettura di GEB che mi innamorai della programmazione strutturata. Ed era un periodo molto difficile: quel libro è stato importantissimo per me: non parla di computer o di I.A, come molti affermavano. Parla di noi e del mistero della nostra (auto)coscienza. Anche Hofstadter recentemente pare abbia voluto puntualizzare la cosa in una conferenza appositamente organizzata.

ascolto ;-)

i 386 e i 486 riuscii a venderli. Mi sono rimasti un glorioso e massiccio M28 con schermo monocromatico che però difficilmete riuscirei a far ripartire visto che ho perso i dischetti di setup e non ricordo nemmeno che dischi ci siano dentro, e un 290 ma con varie schede fra cui una grafica tipo Hercules ma il monitor a colori è fuso... difficile rimettere in sesto anche quello. Stanno a prender polvere su uno scaffale. Ogni tanto penso di cannibalizarli per quel poco che se ne potrebbe cavare fuori...poi mi manca il coraggio :)

Proprio ora mi è venuto in mente che da uno scatolone è recentemente venuto fuori stranissimo monitor colori Amstrad 12'' ma con il il dot pitch a 0.28. Modello pc12 HRCD Nitidissimo ricordo, ma piccolissimo. Quindi ho 2 286 che lavorando parecchio potrei fondere e provare a tirarne fuori un "coso" che si avvia... pensi che dovrei provarci? Non mi converrebbe usare il Vecchio Fedele? Un'assemblato con PIII su Asus p3v4x che aspetta paziente solo che mi decida a rimontargli il masterizzatore che si era rotto? ho parecchi slot liberi e pure uno per le schede ISA. Sono mesi che lo tengo mezzo aperto...ma escono sempre guai nuovi! :(

chi s'accontenta.etc..:)

ci penso...ma la pigrizia è uno dei miei pregi. L'idea di trovare tutto pronto mi solletica anche se devo cacciare un po' di scudi...:)

[cut]

ok

qui ti seguo con difficoltà visto che ancora sto cercando di orientarmi. Tempo.:)

sono uno "zampognaro", vicino meno di 40 a km, sto proprio sotto mamma Schiavona. Ma poi risolsi in mattinata: non era partito il BD142, ma l'L123 che lo pilotava e che sostituii con un Sylvania ECG923. (Quando un mio vecchio fornitore chiuse l'attività comprai un paio di scatoloni di ricambi vari a prezzo stracciato...:) Mi sentii molto soddisfatto a lavoro finito soprattutto per essere riuscito a dissaldare e risaldare un can a 10 piedini. Quasi un gioco di pazienza per un vecchietto...:D Comunque grazie per l'offerta.:))

ciao e scusa per tutte le digressioni Chance :O)

Reply to
ILikeToWatch

e' un po' come andare in bici ci si ritrova subito :-)

solo che il mondo embedded ha un punto di vista 'diverso' dai i programmi convenzionali: algoritmi semplici , piu' interazione col mondo esterno, spesso requisiti di velocita'

mmmh, stampanti ad aghi con annessi e connessi si trovano ancora, magari abbandonate in uffici o studi di commercialisti

la licenza "student" si applica anche agli hobbysti

e poi un nostro conterraneo diceva che "gli esami non finiscono mai" ergo siamo sempre studenti :-)

ahia , gli audiofighi :-)

ripeto che tutto sta nel saper usare le cose e non se la hai o nno le hai a disposizione, qualche goto BEN messo risolve un sacco di problemi.

e poi se ci pensi salti non locali si usano piu' spesso di quanto pensi, basta pensare alle uscite dalle subroutine forzate su condizione

vedi!!! eppure i puristi storcerebbero il naso

bravo questo e' il punto nodale

ma bando alle ciancie smettiamo di filosofeggiare ed attacca a programmare, che io gia' lo sto facendo :-)

bhe, bhe, il PIII e' fin troppo grosso :-) ma tutto fa brodo

guardati in giro fra amici e conoscenti , magari qualcosa trovi

si vabbe' ma embedded vuole anche dire piccoli gadget a pila e difficilmente un PC ti andrebbe bene

vedi se ti paice questa:

formatting link

avresti i vantaggi dei due 'mondi'

un sistema operativo / ambiente di sviluppo comodo ( LINUX ) e dimensioni contenute cosi' fa piu' embedded

in sintesi:

microchip attualmente ha parecchie famiglie di micro

PIC10-12 PIC16-17 PIC18 PIC24 dsPIC30-33

con caratteristiche differenti : la piu' classica e' la 16 la 18 e' piu' grandicella e supporta meglio lo sviluppo di compilatori la 24 e' la piu' recente e piu' 'prestante'

microchip produce sia delle developement board sia dei programmatori ( le dev board in genere sono ANCHE programmatori ) le dev.board sono specifiche per una o due famiglie tra i programmatori c'e' l'ICD2 che e' sia un programmatore sia un debugger ( permette al MPLAB di interagire col micro durante l'esecuzione del programma ), questo ICD2 permette la programmazione di molti dei micro prodotti da microchip

ho dovuto documentarmi per non fare brutte figure, stai in quel ridente paese di Montevergine o quasi :-)

mi sto accorgendo di un lento peggioramento della mia vista :-(

e figurati e' sempre un piacere, tra l'altro avrai notato che qui ci sono pochi terroni

Reply to
mmm

"ILikeToWatch" ha scritto>

Neanche per quelle... return a cascata con codice di errore fino al main ;)

ciao Claudio F

Reply to
Claudio F

[cut ]

quasi, ma come con la bici mica puoi ancora fare quello che facevi prima! o ti becchi un coccolone! ;)

e forse è un vantaggio e credo che si impari presto

ma io una Centronics H80 c'è l'ho (ho anche un modello che appartiene alla storia: una 739, made in USA, New Hampshire, ancora "funzionante", se non fosse per i nastri "impossibili"). Purtroppo non riesco a trovare nemmemo le cartucce per l'H80, ma ho buon speranze che dalla cantina vengano fuori da qualche scatolone: proverei a reinchiostrarle. Feci un giro fra i miei vecchi clienti: alcuni le usano ancora per le bozze e altri lavori interni, altri le hanno buttate (orror!) ! :(

[cut]

devo andare a riguardare nel sito, allora. :)) Forse ti chiederò ancora lumi :)

e nessuno ha ancora affrontato seriamente il "paradosso del veterinario"...un aspetto dell'opera a torto trascurato...;)

vero! in fondo anche io a un certo momento mi sentivo "speciale"...poi arrivarono gli "esoterici" e mi misi a ridere e lasciai il campo. Ora mi basta un buon impianto e soprattutto buone esecuzioni...

infatti, uno è subito comparso...ma secondo me scherza un po'! :)

[snip]

ne parlo in un altro messaggio. Voglio prima rendere almeno agibile il mio laboratorio casalingo. Ma il caldo di questi giorni non aiuta... [cut]

quelli come me (e te?) difficilmente mollano qualcosa e gli altri hanno creduto alla favola della raccolta differenziata e hanno buttato veri tesori...:(

scherzavo, ovviamente :P

[cut]
[cut] ti ho tagliato perchè stai per mandarmi in overflow...troppe informazioni e interessanti.

Per ora, ripeto, per me è prioritario rendere operativo il laboratorio. Devo pure passare una

15na di metri di cavo ethernet: il wifi non mi spiace ma ho ancora parecchio cavo e una crimpatrice...;) [cut]

paese di lupi e politici...i lupi si sono ridotti molto, i politici invece no! ;)

[snip]

tranquillo! non sei solo...con altri vecchi amici "elettromaniaci" abbiamo tutti lo stesso problema. E valgono a poco le multifocalin nonstante il costo. Io sto cercando le vecchie sopralenti di ingrandimento che usavano gli orafi e i tagliatori di diamanti! ma leggere!!! :P

dici? beh, la Fortuna è cieca, si sa... ;)

ciao e grazie Chance :O)

Reply to
ILikeToWatch

"Claudio F" ha scritto nel messaggio news:469f98d5$0$36438$ snipped-for-privacy@reader5.news.tin.it...

'nzomma! :O] dipende dall'ambiente di sviluppo: sotto M$-DOS, per esempio, famoso per la sua "perfetta e protetta" gestione della memoria, una ricopertura imprevista poteva cancellare mezzo stack! e addio return!

ciao Chance :O)

Reply to
ILikeToWatch

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.