iz1lbt Inserito: 23 febbraio 2013 Segnala Share Inserito: 23 febbraio 2013 ciao a tutti, e da poco che mi approccio ai pic, ho comprato un pickit 3 con inclusa la demoboard44pin con un pic18f45k20, ho cominciato a provare a colleagre al pc cancellare e rimettere un firmware sul pic (e 2 giorni che cel'ho ) , ho cncellato per errore il firmware originale della demoboard , che in mplab x c'e una cartella chiamata sample project dove lo posso ricaricare, ma devo riconvertirlo in hex , dom anda ma con mplabx posso convertirlo? mi spiegate dove trovo la funzione ? grazie mille anticipatamente! Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 25 febbraio 2013 Segnala Share Inserita: 25 febbraio 2013 Una volta lanciato MPLAB X, nella "start page", click su "open samples project". Si apre la finestra "new project". In "categories" (sulla sinistra) seleziona "sample project/microchip embedded". In project (sulla destra) seleziona il progetto che ti interessa. Una volta aperto (doppio click), nella barra dei comandi click sulla icona con il martello. Nella finestra di "output" (generalmente in basso sulla destra, se non hai spostato nulla) viene visualizzato il risultato della compilazione (errori, warning, ecc.) A questo punto (se non ci sono errori) non ti rimane che riprogrammare il micro. Buon lavoro. Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 25 febbraio 2013 Autore Segnala Share Inserita: 25 febbraio 2013 grazie per la risposta! kappa 47 puo essere che sbaglio ? nei sample project c'e un file chiamato pic18f4520 ma è l'unico che c'è pero la demoboard ha un pic18f45k20 e per quello che mi da l'errore ? tra l'altro quando carico quel progetto la finestrella dove selezioni il modello del pic rimane con la scritta default ... puo essere che non ci sia il progto originale della mia demo? dove posso reperirlo se fosse? , intaanto provo a sbatterci la testa ancora... grazie escusa per le mille domande ! Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 26 febbraio 2013 Segnala Share Inserita: 26 febbraio 2013 Nel kit che hai comprato dovrebbe esserci il CD con la documentazione e i sorgenti della demoboard. Lo hai installato ? Se nei template di MPLAB X non c'e', devi cercarlo manualmente dove lo hai installato. Le differenze tra il PIC18f4520 e il PIC18f45k20 sono nei consumi, frequenza max. di funzionamento (e costo inferiore) che in un progetto di demo non dovrebbero pregiudicarne il funzionamento. Per avere risposte piu' precise, dovresti evidenziare meglio gli errori. Ciao. Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 26 febbraio 2013 Autore Segnala Share Inserita: 26 febbraio 2013 in verita il cd l'ho installato su windows ma , sul mac mini che è senza lettore l'ho scaricato dal sito, e mplabx mi sembra piu intuitivo sul mac ,ma i file samples ci sono , dovrebbero essere gli stessi, ma per compilare il programma gli basta solo il programma in c? il makefile a cosa serve? Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 26 febbraio 2013 Autore Segnala Share Inserita: 26 febbraio 2013 warning: Configuration "default" builds with "C18", but indicates no toolchain directory. error: Configuration "default" builds with "C18", but no toolchains of that type are installed. Errors have occurred while loading one or more configurations. If a specific error is not shown above, this may happen when you import a project from another computer. + You can add language tools in Tools->Options embedded tab. + You can change which language tool to use in the project properties dialog. questo è l'errore che da appena carico il sample projet dl pic che ho Link al commento Condividi su altri siti More sharing options...
kappa47 Inserita: 27 febbraio 2013 Segnala Share Inserita: 27 febbraio 2013 Il makefile dice al compilatore cosa deve fare: - quali files di progetto deve compilare (se hai diverse versioni) - se vuoi la mappa della memoria e/o i listati - come vuoi configurare la memoria - ecc. In un progetto demo non hai bisogno di modificarlo. Gli errori che hai ci sono perche' non hai configurato il compilatore C18 (toolchains...) Per controllare i toolchains: Apri MPLAB X Barra dei menu --> tools --> options --> embedded Seleziona "build tools" Sulla destra (toolschain) c'e' l'elenco dei compilatori che hai installato. Se non c'e', devi installarlo. Se e' stato installato, sulla parte sinistra ci sono le directory in uso. Esempio: base dir: C:\...\XC8\Vxx\bin C comp: C:\...\Xc8\Vxx\xc8.exe Non toccare la dir di "make command" Se non l'hai installato, click su "add" (sulla sinistra) Click su "browse" e cerca il compilatore (base dir con il file "bin" e type con "C18") A questo punto dovresti ritrovarti tutti i paths completi. Buon lavoro Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 6 marzo 2013 Autore Segnala Share Inserita: 6 marzo 2013 grazie mille !! ci sono riuscito, un passo alla volta , pero 'nonostante gli ho scaricato il programma dentro i led non funzionano, la programmazone è andata a buon fine , pero devo dire che mi son sbagliato, per qualchge secondo ho dato 3,5v inversi..... ho causato danni al pic? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 6 marzo 2013 Segnala Share Inserita: 6 marzo 2013 per qualchge secondo ho dato 3,5v inversi..... ho causato danni al pic? Cosa significa? hai forse invertito l'alomentazione scambiando positivo con negativo? Se è così è quasi certo che hai fatto qualche martire. Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 6 marzo 2013 Autore Segnala Share Inserita: 6 marzo 2013 mmmmm.... cavoli, si ho sbagliato ed ha anche scaldato!! pero si fa scrivere ,cancellare , verificare, comunque ho dissaldato il pic ne ho messo uno uguale alla demoboard.... stessa roba , ho sbagliato qualcosa nel programma tipo mandarlo in run? Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 6 marzo 2013 Autore Segnala Share Inserita: 6 marzo 2013 anzi mi da questo errore .... Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 7 marzo 2013 Autore Segnala Share Inserita: 7 marzo 2013 mi da l'errore configurazione dei bit .. ora son passato a windows per provare con mplab ide , per provare , lo vedo molto piu complesso non trovo i sample project e non trovo la funzione dove mi prende un file hex e me lo scarica nel pic, ma tra mplab ide ed mplab x a livello pratico che differenza c'e qual'e meglio sono uguali? non vorrei sfasciarmi la testa ed andare nel pallone ... Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 7 marzo 2013 Autore Segnala Share Inserita: 7 marzo 2013 niente, ho provato anche ad installare mplabx su windows e mi fa lo stesso mi da il seguente errore Programming/Verify complete The target device is not ready for debugging. Please check your configuration bit settings and program the device before proceeding. prima , mi appare una finestra che mi dice che il watchdog time enable è ad on ed il single supply icsp enable bit è a on... chi mi aiuta per favore???? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 8 marzo 2013 Segnala Share Inserita: 8 marzo 2013 (modificato) Please check your configuration bit settings and program the device before proceeding. Questo è il tipico messaggio di quando i bits di configurazione sono errati! Apri il menù a tendina sulla voge configurazione e setta nel modo corretto i vari bits. Prima però verifica che sia abilitato un dispositivo di programmazione e debugging. Consiglio principale: leggi la documentazione microchip che credo sia chiamata "Quick start MPLABX (o qualche cosa di similare)" e segui pedissequamente le istruzioni. Modificato: 8 marzo 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 10 marzo 2013 Autore Segnala Share Inserita: 10 marzo 2013 ho visto nella guida , ma di impostazioni di bit non ne parlano , ma come impostazioni di bit non dovrebbe essere gia settato visto che apro un progetto esempio? la programmazione va a buon fine ***************************************************** Connecting to MPLAB PICkit 3... Firmware Suite Version.....01.28.57 Firmware type..............PIC18F Target detected Device ID Revision = 1c The following memory area(s) will be programmed: program memory: start address = 0x0, end address = 0x7fff configuration memory Programming... Programming/Verify complete mi dice cosi ma non funziona niente ... Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 10 marzo 2013 Autore Segnala Share Inserita: 10 marzo 2013 a parte che sono andato nel menu dei bit di configurazione , se cambio lo stato di qualsiasi cosa viene la scrita rossa, non so se è un errore o lo visualiza cosi , ma poi per confermare i settaggi come si fa?? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 10 marzo 2013 Segnala Share Inserita: 10 marzo 2013 Non c'è bisogno di conferma, una voltaq cambiata l'opzione rimane sino al prossimo cambio. Io uso ancora l'ultima versione di MPLab, quindi non conosco le particolarità di MPLabX, però la filosofia è immutata. Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 11 marzo 2013 Autore Segnala Share Inserita: 11 marzo 2013 #include "p18cxxx.h" void delay(); void delay() { int counter = 0; for (counter = 0; counter<10000; counter++) { ; } } void main(void) { TRISB = 0; while (1) { PORTB = 0x0F; delay(); PORTB = 0x00; delay(); } } questo è il sample project, io non sono ancora capace di programmare ma mi sa che manca qualcosa è per quello che non fa niente la demoboard , anche perche su un forum tedesco ho trovato una modifica di quel sample project che ho copiato ed incollato il file in c l'ho assemblato con xc8 ed ora la scheda funziona , diversamente dal programma originale ma funziona! 3: * 4: * Created on January 25, 2013, 18:09 PM */ 5: 6: #pragma config FOSC = INTIO67 7: #pragma config WDTEN = OFF, LVP = OFF 8: 9: #include "p18f45k20.h" 10: 11: void delay(); 12: 13: void delay() { 14: int counter = 0; 7F5A 0E00 MOVLW 0x0 7F5C 6E02 MOVWF 0x2, ACCESS 7F5E 0E00 MOVLW 0x0 7F60 6E01 MOVWF counter, ACCESS 15: for (counter = 0; counter<1000; counter++); 7F62 0E00 MOVLW 0x0 7F64 6E02 MOVWF 0x2, ACCESS 7F66 0E00 MOVLW 0x0 7F68 6E01 MOVWF counter, ACCESS 7F6A 5002 MOVF 0x2, W, ACCESS 7F6C 0A80 XORLW 0x80 7F6E 0F7D ADDLW 0x7D 7F70 0EE8 MOVLW 0xE8 7F72 B4D8 BTFSC STATUS, 2, ACCESS 7F74 5C01 SUBWF counter, W, ACCESS 7F76 A0D8 BTFSS STATUS, 0, ACCESS 7F78 D001 BRA 0x7F7C 7F7A D001 BRA 0x7F7E 7F7C D002 BRA 0x7F82 7F7E D00E BRA 0x7F9C 7F80 D00D BRA 0x7F9C 7F82 4A01 INFSNZ counter, F, ACCESS 7F84 2A02 INCF 0x2, F, ACCESS 7F86 5002 MOVF 0x2, W, ACCESS 7F88 0A80 XORLW 0x80 7F8A 0F7D ADDLW 0x7D 7F8C 0EE8 MOVLW 0xE8 7F8E B4D8 BTFSC STATUS, 2, ACCESS 7F90 5C01 SUBWF counter, W, ACCESS 7F92 A0D8 BTFSS STATUS, 0, ACCESS 7F94 D001 BRA 0x7F98 7F96 D001 BRA 0x7F9A 7F98 D7F4 BRA 0x7F82 7F9A D000 BRA 0x7F9C 16: } 7F9C 0012 RETURN 0 17: void main(void) { 18: int dummy = 0; 7F9E 0E00 MOVLW 0x0 7FA0 6E04 MOVWF 0x4, ACCESS 7FA2 0E00 MOVLW 0x0 7FA4 6E03 MOVWF dummy, ACCESS 19: /*init the RA0 as analog input*/ 20: TRISA = 0x1; // set potentiometer at porta as input 7FA6 0E01 MOVLW 0x1 7FA8 6E92 MOVWF TRISA, ACCESS 21: ANSELbits.ANS0 = 1; // set RA0 to analog (=1, 0 = digital) -> this is important to potentiometer at RA0 7FAA 807E BSF ANSEL, 0, ACCESS 22: ADCON0bits.ADON = 1; // activate A/D unit 7FAC 80C2 BSF ADCON0, 0, ACCESS 23: /*init the RB0 as digital input*/ 24: TRISB = 0x1; // set bit0 of portb to input because there is the push button at RB0 7FAE 0E01 MOVLW 0x1 7FB0 6E93 MOVWF TRISB, ACCESS 25: ANSELHbits.ANS12 = 0; // set RB0 to digital (=0, 1= analog) -> this is important to read button at RB0 7FB2 987F BCF ANSELH, 4, ACCESS 26: /*init the RD0..RD7(PORTD) as digital output*/ 27: TRISD = 0; // all bits of portd are set 0 as output 7FB4 0E00 MOVLW 0x0 7FB6 6E95 MOVWF TRISD, ACCESS 28: PORTD = 0; // deactivate all led's 7FB8 0E00 MOVLW 0x0 7FBA 6E83 MOVWF PORTD, ACCESS 7FBC D000 BRA 0x7FBE 29: 30: while (1) { 7FFA D7E1 BRA 0x7FBE 31: if (PORTBbits.RB0 == 0) { //check if button is pressed (=0, 1= not pressed) 7FBE B081 BTFSC PORTB, 0, ACCESS 7FC0 D001 BRA 0x7FC4 7FC2 D001 BRA 0x7FC6 7FC4 D00C BRA 0x7FDE 32: ADCON0bits.GO_DONE = 1; // start A/D convert 7FC6 82C2 BSF ADCON0, 1, ACCESS 33: while(ADCON0bits.GO_DONE != 0); // wait till A/D convert done 7FC8 D000 BRA 0x7FCA 7FCA B2C2 BTFSC ADCON0, 1, ACCESS 7FCC D001 BRA 0x7FD0 7FCE D001 BRA 0x7FD2 7FD0 D7FC BRA 0x7FCA 34: dummy = ADRESH; // copy A/D result (high part) to leds -> dummy variable is only for better debugging 7FD2 CFC4 MOVFF ADRESH, dummy 7FD4 F003 NOP 7FD6 6A04 CLRF 0x4, ACCESS 35: PORTD = dummy; 7FD8 C003 MOVFF dummy, PORTD 7FDA FF83 NOP 36: } else { 7FDC D00B BRA 0x7FF4 37: PORTD = PORTD<<1; // move set led 7FDE 5083 MOVF PORTD, W, ACCESS 7FE0 2483 ADDWF PORTD, W, ACCESS 7FE2 6E83 MOVWF PORTD, ACCESS 38: if (PORTD == 0) { 7FE4 6683 TSTFSZ PORTD, ACCESS 7FE6 D001 BRA 0x7FEA 7FE8 D001 BRA 0x7FEC 7FEA D004 BRA 0x7FF4 39: PORTD = 0x1; // if all led's off activate one 7FEC 0E01 MOVLW 0x1 7FEE 6E83 MOVWF PORTD, ACCESS 7FF0 D001 BRA 0x7FF4 40: } 7FF2 D000 BRA 0x7FF4 41: } 42: delay(); 7FF4 ECAD CALL 0x7F5A, 0 7FF6 F03F NOP 7FF8 D7E2 BRA 0x7FBE 43: } 44: } 7FFC EF00 GOTO 0x0 ora che dovrei avere capito almeno ad usare un po il programma ,a scaricare e caricare programmi cerchero di studiare il linguaggio c anche se non so se faccio la scelta migliore , voi che linguaggio mi consigliate (non ho basi di programmazione) Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 marzo 2013 Segnala Share Inserita: 11 marzo 2013 (modificato) Il "C" è sicuramente la scelta migliore, anche perchè oltre al "C" c'è solo l'assembler e qualche ciofeca come, ad esempio, compilatori basic adattati ai micro PIC. L'assembler comunque dovresti impararlo. E' più facile del "C" come sintassi, permette di fare più porcate, è molto "palloso" perchè devi scrivere tutto ed è 1 a 1 (una riga, una istruzione), però è praticamente obbligatorio conoscerlo perchè ti fa capire veramente come lavora la macchina e quali registri sono "toccate" da determiante operazioni. Poi, in caso di necessità, è il più veloce ed ottimizzato. Imparare un linguaggio non significa saper programare. Prima bisognerebbe imparare a programamre che è una cosa indipendente dal linguaggio usato. L'arte della programamzione è, principalmente, capire quale algoritmo impiegare per risolvere un determinato problema, come organizzare al meglio il programma per risolvere quell'algoritmo, come organizzare al meglio la programmazione. Nel programma di esempio fai cambiare di stato le uscite della porta B con un tempo ottenuto da un ciclo for che retira 9999 volte l'incremento di una variabile. Non so quale compilatore stai usando, ma tutti i compilatori "C" per PIC hanno una "built in function" che esegue ritardi; basta richiamarla specificando il tempo necessario (in µs o ms). In pratica poi il prcessore esegue qaulche cosa di simile a quello che hai fatto, però la lettura del programma è molto più comprensibile. Poi pensa a quando dovrai usare più ritardi differenti nella medesima funzione... Certo che se quel compilatore espande 3 righe di "C" con tutta quella roba, non mi sembra il massimo dell'ottimizzazione. Modificato: 11 marzo 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 11 marzo 2013 Autore Segnala Share Inserita: 11 marzo 2013 grazie mille livio ! quella versione di compilatore è la demo di xc8 gratuita , poi se imaprero a programmare acquistero la versione completa se non ne trovo un'altra gratuita , per cui dice che se avessi avuto un'altro compilatore quel programma scritto in c demo avrebbe funzionato?? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 marzo 2013 Segnala Share Inserita: 11 marzo 2013 Se non funziona non è perchè è compilato con la versione demo. Proprio per la versione demo Microchip dichara che l'ottimizzazione è scarsa, però non dichiara altri limiti o bugs. Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 12 marzo 2013 Autore Segnala Share Inserita: 12 marzo 2013 per cui anche se sono alle prime armi mi conviene acquistare un compilatore? almeno rischio di tribulare meno? cosa mi consigliate per l'acquisto di un libro dove mi da una buona base? penso sia inutile provare a programmare quando non conosco neanche l'architettura dei pic cosa dite? grazie mille in anticipo! Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 12 marzo 2013 Segnala Share Inserita: 12 marzo 2013 (modificato) per cui anche se sono alle prime armi mi conviene acquistare un compilatore? almeno rischio di tribulare meno? Assolutamente no! La minor ottimizzazione del compilatore può solo portare ad un esguibile un poco più pesante, con maggior occupazione di memoria e minor velocità di esecuzione. Questo potrebbe essere un problema per applicazioni estreme, ma con le tue attuali conoscenze sei ben lontano dal poter gestire simili problematiche. Per imparare a conoscere i PIC e la loro programmazione, ti consiglio di ricercare sul forum l'ottimo corso di Sergio Tanzilli; è gratuito, ben fatto ed è tarato proprio per i principianti. Poi ci sono anche testi facili, prova a guardare nel sito di "futura Elettronica", se hanno ancora in vendita il manualetto di programmazione-istruzione sui PIC. Anche quello è abbastanza ben fatto. Comincia a farti le ossa seguendo pedissequamente le indicazioni del corso che ho citato (ma ce ne sono altri gratuiti e ben fatti che trovi in rete). Devi proprio seguirlo passo passo, senza saltare nulla e senza proseguire prima di aver capito l'argomento trattato. Nel giro di poco tempo saprai dominare abbastanza bene i concetti fondamentali del micro, poi dipenderà solo da te la crescita. Modificato: 12 marzo 2013 da Livio Orsini Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 13 marzo 2013 Autore Segnala Share Inserita: 13 marzo 2013 Grazie di cuore livio:-) Link al commento Condividi su altri siti More sharing options...
iz1lbt Inserita: 13 marzo 2013 Autore Segnala Share Inserita: 13 marzo 2013 Livio , di sergio tanzilli non ho trovato nulla neache nella sezione ditattica , potresti darmi il link? Link al commento Condividi su altri siti More sharing options...
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora