--- Dalla tua immagine appare chiaramente un messaggio PICKIT2 not found-----
Se al PC non c'è collegato il tools o manca il driver relativo, come fa a programmare ?
Quando il Pickit risulta collegato e il driver usb caricato come si deve, occorre che il target sia alimentato e quindi venga riconosciuto dal Pickit.
Il target può essere alimentato a parte o forzato dal Pickit attraverso il menu
Tool/Target Vdd source.
Una volta che il device è riconosciuto correttamente, ci sarà anche l' opzione Configuration attiva.
Se, invece, la foto è messa a muzzo e la situazione reale è "il problema è ke (sao ko kelle terre per kelli fini che ki kontene, ecc) l'utilizzo gia questa versione...e il pic lo vede tranquillamente...."
non capisco quale sia il problema a premere Config (la scelta a destra della finestra Device).... Questa scelta si attiva nel momento in cui un device è stato scelto della finestra.
Come cercato di spiegare prima, ovviamente NON ESISTE alcun cenno a "fuses", ma Configuration Bits !
Quanto poi al fatto che vadano a 0 o a 1 dipende da come il programma che deve girare sul PIC si aspetta che l' hardware sia configurato. Questo lo deve sapere chi ha scritto il programma (e, non avendo messo il CONFIG in testa al listato, a distanza di tempo, come kaiser fa a ricordarsi cosa aveva fatto?).
In ogni caso, tutto a 0 nel 16F876 indica la seguente situazione:
- 0000h to 1FFFh code protected che è meglio non fare durante le prove
- In-Circuit Debugger enabled, RB6 and RB7 are dedicated to the debugger. il che, se va bene per il debug ICD, inibisce l' uso di RB6-7
- Unprotected program memory may not be written to by EECON control
indifferente
- Data EEPROM memory code protected
indifferente
- RB3 is digital I/O, HV on MCLR must be used for programming
ok
- BOR disabled
maybe
- PWRT enabled
ok
- WDT disabled
se non si usa, ok
- LP oscillator
questo prevede cristalli low power, tipo 32768kHz
Quindi, ho i miei dubbi che il "tutto a 0" sia la scelta ideale, anche solo per il quarzo LP che non combina con il 4MHz dello schema e che RB7 è usato come input.
Jasson
postato il: 02.03.2013, alle ore 15:04
Ma io vedo che nel progetto, l'autore ha messo il file .hex, che è il file da scrivere all'interno del pic.
Quindi come sono impostati i fuses, a noi per ora non ce ne frega nulla, il pickit deve scrivere il programma dentro al pic, indipendentemente da come sono settati i fuses.
Sappiamo bene che molti jdm in giro fanno cag..... ehm,non vanno bene e da ricordi di bei tempi andati, (T+ D+ docet) si dava la colpa ai fuses per qualsiasi cosa,come detto da mars.
Comprare o realizzare un VERO programmatore è la prima cosa da fare se uno vuol avere a che fare con i pic.
Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
marsram
postato il: 02.03.2013, alle ore 15:51
Franco e Jasson, qui il problema è diverso. Rileggete i post, da cui si evince:
Dal che si deduce che usa il Pickit2 e che sa dove si trova la selezione Config. Quindi la questione sarebbe solo: tutti i bit a 0.
La risposta , vedendo lo schema, come ho scritto prima, è un bel no.
Ma segue:
---------------------
- I fuses in questo programm(il pickit2 di cui ho messo la foto),dove li trovo??
---------------------
E io che scrivo suggerimenti a fare? Tempo buttato, direi.
Certo che i "fuses" non li trova. Sembra la faccenda della brioches...
ME poi: ma se prima ha detto che sa dove sta la selezione del Config nel Pickit2 Programmer, dove sta il problema?
E, non contento, prosegue con:
---------------------
- In ic-ptrog sono a lato del firmware,in melab in una finestra apparte..qui?
---------------------
Ohè! Che, siamo Joe Condor ? Usi il Pickit ,dove sai dove stanno i Config (ma non i "fuses"...)? E allora quale è il problema?
Oppure usi l' ic-ptrpg o chissà cos'altro? e mi sembra però che entrambi parlino di Configuration e non di "fuses".
Ovviamente si può programmare anche senza i "fuses".
Ma se anche programmi con tutti i Configuration Bit a 0, non funziona un bel bip per le ragioni esposte sopra.
Quindi proporrei di sospendere ogni azione samaritana in attesa che il richiedente si e ci chiarisca le idee. Altrimenti non è dare un aiuto, ma cercare di risolvere il solito "indovinello" criptato, di cui anche il richiedente non ha mai avuto la chiave.
Mars,premettiamo che di pic io capisco che forma hanno,come si infilano nello zoccolo,come si programmano (con un Willem che presi anni fa).
Ma come si scrive un codice no,però ho imparato che spesso un codice è diverso da compilatore a compilatore.
Ovvio se ho un codice e non so con che programma è stato scritto ci faccio poco e niente,a meno di avere tutta la struttura ma sempre un compilatore identico.
Scusate l'OT.
Anche il viaggio più lungo inizia con un piccolo passo.
Si vis pacem, para bellum!!!
Mark Zuckerberg ha reso suoi schiavi milioni di persone senza che se ne rendessero conto. F.G.
<Avete vinto voi,ma almeno non riuscirete a considerarmi vostro complice> Da Mediterraneo.
Inferno,Canto III,verso 51 Virgilio dice.........
Jasson
postato il: 02.03.2013, alle ore 16:21
Luca scrive:
Luca280: Salve a tutti,ho realizzato queato progetto tempo fa' https://www.grix.it/viewer.php?page=2411 Ma non funziona in quanto non riesco a scrivere il pic...
Se non riesce a scrivere il pic, il problema o è del pic o è del programmatore.
Il pickit2, è un programmatore, ovvero serve per prendere un file(in questo caso un file .hex) e scriverlo dentro al pic, punto.
I fuses non centrano nulla, come non centra nulla il compilatore, quelli casomai serviranno poi per far funzionare a dovere il programma, DOPO, che il programma sia stato caricato dentro al pic.
Ora da quello che ho capito, non siamo davanti ad un programma che non funziona, ma siamo davanti ad un programmatore che non riesce a caricare il file dentro al pic.
marsram
postato il: 02.03.2013, alle ore 16:37
E chi ci capisce realmente qualcosa, di microcntroller? Quindi non ci sono problemi da questo punto di vista.
Il problema non è questo e neanche il codice con cui scrivi. O dove lo scrivi o con che cosa lo compili o programmi.
Il problema di base è il concetto con cui scrivi.
In questo caso specifico, si dovrebbe sapere che i Configuration Bits non sono una opzione inutile, ma una parte essenziale del programma, in quanto da questi dipende COME VIENE IMPOSTATO L' HARDWARE del microcontroller.
I "programmatori" beginners sono divisi in due species:
- quelli che i configuration bits manco sanno cosa sono
- quelli che ne hanno sentito parlare e pensano che non debbano fare parte del sorgente del programma, ma siano da forzare manualmente nel software del programmatore.
Tutti i compilatori, Basic, C, Assembler, Pascal, ecc. accettano la o le righe di CONFIG del sorgente e le integrano automaticamente nell' hex in modo tale che il dispositivo di programmazione carichi anche i Configuration registers con i giusti valori.
Questa evidenza è semplicemente dovuta al fatto che, se il CONFIG fa parte del sorgente, diventa documentazione e in qualsiasi momento so cosa ho programmato (e se lo commento, anche il perchè).
Se non so questo fatto e configuro a mano, i bit di configurazione non appaiono nell' hex, ma sono solo funzione locale del software di programmazione per quella singola programmazione. Tra n mesi, che ne so di come avevo con figurato quel dato micro per quel dato programma?
Tutto a 0 è la scelta di default sempre?
Quindi, insisto, il problema primo non è fare le cose, ma sapere quali sono i loro principi. Se li so, non ho problema a fare qualunque cosa. Se non li so, magari programmo un chip, ma è stato un caso fortuito e non una conseguenza del fatto che so cosa sto facendo e perchè.
Inoltre, mettiamo anche questo nell' OT: il mio accanimento contro i "fuses" è semplice: se parlo di fuses in questo ambito, non so neppure cosa sto dicendo.
Tamarro le parole perchè altri tamarros ciò fanno e mi adeguo. Ma così non imparo nulla, non capisco nulla.
Non vuol dire che si debba adottare un dialetto criptico, tipico delle gilde medioevali o dei medici, per far vedere che sono "imparato" dell' anghelese o dell' elettronica. Riteniamo pure che certi aspetti della cultura siano da emendare, ma non certo sostituendoli con cose a caso.
Semplicemente si tratta di riportare le parole al loro significato e senso.
Non vogliamo gli USA? Allora no ai Configuration Bit, ma si ai bit di configurazione, che rende più vicini al senso di questa funzione che non i "fuses". E se poi andiamo anche a vedere cosa sono e a cosa servono, allora sappiamo un principio relativo ai microcontroller e possiamo essere meno spannometrici nella pratica.
marsram
postato il: 02.03.2013, alle ore 16:43
Per Jasson.
Non sarei così certo. Se rileggi tutto, vedrai che non si capisce realmente cosa non vada.
Certamente, come detto, se non si configurano i bit di CONFIG, il chip si programma comunque.
Se non si programma dipende da 10000 cosa che non sono i "fuses".
Ma se non si programmano i bit di config cosa succede?
Che, se non si è cancellato il chip, restano i bit della programmazione precedente, i quali, per kukulo, possono magari anche essere adatti all'applicazione in corso.
Se ho cancellato tutto il chip, il contenuto è FFh e se non programmo il CONFIG tutti i bit sono a 1, il che molto probabilmente va male altrettanto che averli tutti a zero.
Mettete sempre il CONFIG nel sorgente e il problema miracolosamente sparisce.
Jasson
postato il: 02.03.2013, alle ore 16:59
Si ho capito, ma qua abbiamo un file hex già compilato.
Cioè i fuses devono essere impostati in fase di compilazione, in base ai parametri imposti da chi sta realizzando il progetto.
Esempio se voglio utilizzare un quarzo esterno, devo impostare i fuses per dire al pic che utilizzerò un quarzo esterno, viceversa devo impostare i fuses per far sapere al pic che dovrà utilizzare il suo oscillatore interno.
Se il pin mclr lo voglio utilizzare come pin di reset, lo devo specificare al pic tramite fuses, se lo voglio utilizzare come pin I/O dovrò impostare il relativo fuses, e così via per altre decine di parametri.
Quindi l'impostazione dei fuses sarà già stata fatta da chi ha realizzato il progetto, ha scritto il programma, lo ha compilato ed ha fornito il file .hex già bello e pronto.
Tra l'altro nell'articolo si vede che il progetto è stato realizzato, e sembra pure funzionante, quindi la logica mi dice che i fuses sono stati correttamente impostati, e il file .hex fornito è corretto e funzionante.
marsram
postato il: 02.03.2013, alle ore 20:01
No che non hai capito.
Il fatto che ci sia un hex compilato è del tutto irrilevante rispetto al fatto che esso contenga o meno una linea di configurazione.
Se non inserisci nella compilazione la configurazione, NON C'E' alcuna linea di configurazione nell' hex !!!
Dato che questa linea esiste solamente se il sorgente contiene un CONFIG.
Ora, il sorgente indicato NON contiene alcun CONFIG.
Ma, guarda caso, l' hex indicato contiene una linea di configurazione (Dove? basta conoscere la struttura del file hex per trovarla subito).
Tra l' altro, come ho cercato di far capire prima, i bit del config sono diversi da "tutto a 0".
Quindi posso supporre solo che l' ambiente Mikrobasic, che non conosco, contenga a livello di progetto una determinazione dei bit di configurazione.
Il che sarebbe una bella czt, visto che escluderebbe la configurazione da una documentazione chiara (sorgente), dando origine a discussioni inutili come questa.
Però, il problema è che il postulante è per lo meno un millantatore, dato che se veramente usasse il Pickit2 Programmer, nel momento in cui carica un hex privo di configurazione, riceverebbe un warning a sfondo giallo,impossibile da non vedere, che segnala la mancanza di configurazione.
Per contro, dato che l' hex in questione un config lo contiene, il suo valore viene indicato accanto al pulsante Config e non viene segnalato alcun errore.
Quindi:
di cosa stiamo parlando ???
Sicuramente non di "fusare" dei "fuses" che non ci sono.
Come utente anonimo puoi leggere il contenuto di questo forum ma per aprire una discussione
o per partecipare ad una discussione esistente devi essere registrato ed accedere al sito