
![]() | #1 (permalink) Top |
User Data registr.: 03-08-2009 Residenza: Pistoia
Messaggi: 279
![]() | vorrei imparare a programmare i PIC
ciao a tutti,ho 16 anni e vorrei imparare a progrmmare i pic per gestire varie cosette visto che sono utilizzabili in tanti modi... con il computer me la cavo abbastanza benino. L'unico linguaggio che conosco (per conosco intendo, ci so scrivere) è l'html e so qualcosa sui css... so che ci sono 3 diversi linguaggi di programmazione tra i quali il C è il più semplice per un neofita come me. So anche i principianti di solito partono con il pic16f84 giusto? e poi? quali programmi devo scaricare? mi devo leggere tutte le 88pagine del datasheet di quel pic? ![]() devo seguire una particolare guida? scusate per la moltitudine di domande ![]() ![]() ![]() ![]() grazie 1000!!! Luca ![]() ![]() |
![]() | ![]() |
![]() | #2 (permalink) Top |
User Data registr.: 14-02-2008 Residenza: Lauria (PZ)
Messaggi: 339
|
ciao se vuoi iniziare coi pic presumo tu abbia almeno le basi dell'elettronica, quindi i componenti di base passivi, reti, filtri, componenti attivi. Detto ciò, i manuali dei pic sono un tantino complessi per iniziare, presumono che tu abbia già una buona conoscenza di elettronica digitale e dei microprocessori, le conoscenze di una scuola superiore, tipo perito elettronico o informatico vanno benissimo. Se hai già il bagaglio suddetto puoi iniziare acquistando uno starter kit di quelli che trovi sul sito della microchip, includono demoboard, programmatore e cdrom con tutto il software che serve. per la programmazione puoi scegliere o l'assembler o il C o il basic. Io ho iniziato direttamente con il C, in quanto già lo conoscevo bene. In ogni caso il C non è semplicissimo come linguaggio. In alternativa, puoi saltare a piè pari tutta la roba di sopra e inizi con i picaxe, che sono dei pic che si programmano in basic, questi si che sono semplicissimi da imparare. Per info cerca con google. |
![]() | ![]() |
![]() | #3 (permalink) Top |
User Data registr.: 03-08-2009 Residenza: Pistoia
Messaggi: 279
![]() |
ciao, grazie della risposta, purtroppo non ho conoscenze da perito elettronico etc perchè come ho già scritto ho solo 16 anni e reti,flitri ,componenti passivi attivi etc li conosco solo perchè mi servivano magari per cavolate vrie, ho fatto ricerchine su guggule me li son comprati e usati ma di altra roba non ne conosco molto..il programmatore ho già visto che me lo posso anche fare..il pic me lo compro e per il link pic-pc uso un'adattore usb-bus...ora mi informo sul stò picaxe...il nome m'spira... a presto luca |
![]() | ![]() |
![]() | #4 (permalink) Top |
User Data registr.: 28-05-2005 Residenza: Roma
Messaggi: 660
|
Il consiglio per cominciare è sempre lo stesso:leggi approfonditamente il datasheet!! Tutto quanto!! Anche l'indice!! Non dirò che è una lettura semplice ma d'altronde ciò cui brami non è una forma di conoscenza elementare.... . Se veramente sei all'inizio sei ancora in tempo per imparare l'assembler, il posto migliore dove cominciare è studiare tutte le istruzioni assembler del pic stesso che ti interessa, le trovi sempre sul suo datasheet e non dimenticare mai che il PIC è una macchina nata per essere programmata in assembler, tutti gli altri linguaggi di programmazione ad alto livello sono e resteranno sempre delle forme adattate. Ti consiglio invece di cominciare con il PIC16F628A che è pin-to-pin compatibile con l'F84 ma molto più economico e molto più versatile, potente e con più memoria. Se poi sei veramente intenzionato a proseguire con i pic compra un buon programmatore USB che ormai la seriale è obsoleta. Se avrai difficoltà ti aiuteremop volentieri. |
![]() | ![]() |
![]() | #5 (permalink) Top | ||
User Data registr.: 14-02-2008 Residenza: Lauria (PZ)
Messaggi: 339
| Citazione:
Citazione:
ma con che guadagno? facilità di sviluppo? manutenibilità del codice? non credo. velocità di esecuzione? in minima parte, visto che le sezioni critiche si possono programmare in assembler. Il C nacque per questo, fornisce un linguaggio strutturato che è un pelo sotto l'assembler in termini di velocità, ma ad un abisso di distanza per tutto il resto. Certo, se devi fare programmini semplici o programmini che necessitano di estrema ottimizzazione allora può anche andare l'asm, per il resto è un suicidio. Se poi adduci lo scopo didattico allora niente da dire, scrivere programmi in asm è sempre un ottimo esercizio mentale e aiuta a comprendere benissimo l'architettura sottostante. Poi il C è un linguaggio trasversale, lo trovi ovunque dal microcontrollore al mainframe, quindi può essere un buon investimento per un lavoro futuro. | ||
![]() | ![]() |
![]() | #6 (permalink) Top |
User Data registr.: 28-05-2005 Residenza: Roma
Messaggi: 660
|
Se tu mi parli di un dsPIC30F allora ti posso concedere che magari realizzare alcune parti in "alti linguaggi" può essere comodo, ma in questo genere di processori l'esadecimale finale è generato, mai da un unico linguaggio ad alto livello, quanto più da un'amalgama di una moltitudine di linguaggi di programmazione, che possono raggiungere alte rese, tanto che sia le applicazioni, sia gli sviluppatori per questo genere di super prototipi sono molto rari, tanto che questi stessi PIC sono rari da trovare in un comune negozio. Per il rimanente 98% delle applicazioni (tra cui rientra la totalità delle possibili necessità di un aeromodellista: sai che c'è un utente qui che ha sviluppato un regolatore brushless con un serie 16F? Chiedi di Ivan) possono essere egregiamente risolte da un pic serie 16F. Ho visto utenti passare da un pic 16F ad un 18F solo perchè non avevano abbastanza pin a disposizione, ed usare solo il 3% delle potenzialità di un processore 18F. Alcune delle più elementari tecniche come il multiplexing sviluppato via firmware o il multi-PWM sempre via firmware sono cose ostiche e di solito vengono delegate alle risorse hardware di un PIC, questo perchè svilupparle via software complicherebbe di non poco il codice stesso, in pratica il motivo per cui i programmatori assembler sono così pochi è presto detto: programmare in un linguaggio difficile ma dalle potenzialità nettamente superiori agl altri linguaggi(almeno per questo tipo di architettura) è difficile. Alla fine: Vuoi usare bene i PIC? Impara l'assembler, avrai in questo modo il controllo di ogni singolo bit. |
![]() | ![]() |
![]() | #7 (permalink) Top | |
User | Citazione:
L'assembler è ottimo per realizzare delle piccole macro o routine in cui è richiesta la massima velocità ed efficienza del codice, od ove le risorse hw siano molto limitate. E' praticamente impossibile sviluppare applicazioni complesse, real-time, multitasking et similia in assembler, a meno di non avere molto tempo a disposizione e moltissima esperienza. Il controllo di ogni singolo bit lo si ottiene anche utilizzando compilatori 'C' non per nulla la stessa Microchip ( e non solo lei ma anche Cypress, Atmel, Freescale) fornisce gratuitamente il compilatore 'C' e numerose librerie pronte all'uso. Imparare bene un linguaggio come il 'C' consente poi di utilizzare lo stesso anche in ambiente P.C. per interfacce utente o simili poichè le funzioni base seguono lo standard ANSI in quasi tutti i S.O. windows o linux che sia. Il mio consiglio è di fare qualche esperimento con l'assembler usando i PIC della serie 12, poi passare alla serie 18Fxxxx ed imparare molto bene a programmare in 'C', investirai bene il tuo tempo e ti divertirai di più. IMHO ![]()
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) ![]() | |
![]() | ![]() |
![]() | #8 (permalink) Top |
User Data registr.: 28-05-2005 Residenza: Roma
Messaggi: 660
|
Ci credo che puoi comprare un dsPIC su internet sul sito microchip o si RS, oserei dire che solo questi grandissimi distributori hanno questo genere di attrezzature, se io vado al piccolo negozietto di elettronica che ho sotto casa è normale che lui non abbia un dsPIC. Quasi nessuna applicazione è in grado di apprezzare la differente velocità (almeno nelle applicazioni che quasi tutti noi usiamo) avere un impulso di 1 microsecondo oppure uno di mezzo microsecondo non è influente, perchè nessuno di noi avra mai bisogno di un orologio atomico nell'aeromodellismo (senza nulla togliere a questa nobile arte), e poi quello che dicevo io era diverso, io dicevo semplicemente che di solito si passa a pic più grandi per ovviare a problemi che non si è in grado di risolvere via software, ma è dalla notte dei tempi che si sa che se vuoi qualcosa che sia fatto bene, un pò devi penare, è una cosa normale. Tu mi dici che passeresti ad un 18F perchè pensi che con quello che risparmi in un prossimo futuro potresti ottenere un miglioramento delle prestazioni? Allora io ti rispondo che nella quasi totalità dei casi per ottenere qualcosa di migliore si deve cambiare tutto quello che c'è intorno, quindi ecco che l'ipotetico guadagno è vano. Ma su una cosa siamo d'accordo: per routine particolarmente complesse è vantaggioso usare il C o simili, non mi sognerei di dire il contrario, ma è altrettanto vero che usare il C per controllare un LCD non è una cosa vantaggiosa..... fammi un esempio di un applicazione così complessa che non è sviluppabile in assembler, applicabile nel nostro campo. Detto questo resta inteso che ognuno è liberissimo di usare ciò che preferisce. Ciao |
![]() | ![]() |
![]() | #9 (permalink) Top |
User Data registr.: 03-08-2009 Residenza: Pistoia
Messaggi: 279
![]() |
ecco fatto! alla fine ho deciso per il "C"... dopo una 50ina di pagine di guida (leticate varie con la mi mamma perchè io dicevo di studiare ma non cosa ![]() ![]() ![]() ![]() il 16f84a è veramente ottimo per iniziare e l'mplab con hitec-c per compilatore vanno davvero bene. Come programma per programmare i pic ho scelto ICprog, fatto bene anche lui... prossimo passo: interfacciarci un display lcd per "printeffare" ![]() che bello! mi diverto davvero tanto! |
![]() | ![]() |
![]() | #10 (permalink) Top |
User Data registr.: 10-06-2007 Residenza: Sansepolcro (Ar)
Messaggi: 1.948
|
Segui i consigli di Elnonino. Il C è ottimo per il pic, te lo dice uno che programma i pic in basic e in assembler, ma non ha mai avuto tempo e voglia di imparare ad usare il C!!! Adesso lo rimpiango molto. Comunque nel campo del modellismo userai l'assembler per le routine veloci, come gli interrupt per leggere gli impulsi della ricevente mentre utilizzerai linguaggi ad alto livello per fare calcoli con variabili a 16 o più bit, che in assembler ti farebbero impazzire. Senza contare tutte le librerie pronte che trovi per il C. Io ho fatto un progetto di uno stabilizzatore per elicotteri usando pic 18 ma ti assicuro che un DsPic non ci sarebbe stato male, perchè ho faticato molto con il 18, specialmente per ottenere una discreta definizione sulla lettura di 4 canali radio che in base al tipo di ricevente possono arrivare contemporaneamente, in sequenza o sovrapposti 2 a 2. http://www.baronerosso.it/forum/elim...licottero.html Quindi inizia con i 12 o 16 in assembler, approfondisci i 18 in C e poi puoi passare tranquillamente ai DsPic quando ne sentirai la necessità. Ultima modifica di marcosinatti : 05 dicembre 09 alle ore 00:52 |
![]() | ![]() |
![]() |
Bookmarks |
| |
![]() | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
come programmare i pic | Nello82 | Circuiti Elettronici | 16 | 31 marzo 09 11:51 |
vorrei imparare a programmare pic | elicottero78 | Circuiti Elettronici | 4 | 20 ottobre 08 11:27 |
Programmare PIC 18F8627 | Paperinik. | Circuiti Elettronici | 1 | 25 gennaio 08 11:41 |
Programmare Pic 16c745 | ettore72 | Circuiti Elettronici | 3 | 17 gennaio 08 10:21 |
Programmare pic 16c745 | elizoom | Circuiti Elettronici | 12 | 19 gennaio 06 12:38 |