lukappa87 Inserito: 8 novembre 2004 Segnala Share Inserito: 8 novembre 2004 Salve...Nel mio programma in C voglio ad un certo punto scrivere "x" valori sulla eprom data del mio pic 876...Sfogliando nei file include penso di aver trovato le istruzioni adatte... EEPGDWRERRWRENWRRDconfermate? però non saprei come usarle...Qualcuno di voi ,gentilmente,saprebbe dirmi come utilizzarle? Grazie 1000Lukappa87 Link al commento Condividi su altri siti More sharing options...
lukappa87 Inserita: 10 novembre 2004 Autore Segnala Share Inserita: 10 novembre 2004 ragà proprio nessuno ha mai visto sta roba??? spero in una vostra risposta.... anche un no Link al commento Condividi su altri siti More sharing options...
dlgcom Inserita: 10 novembre 2004 Segnala Share Inserita: 10 novembre 2004 Nel mio programma in C Link al commento Condividi su altri siti More sharing options...
lukappa87 Inserita: 11 novembre 2004 Autore Segnala Share Inserita: 11 novembre 2004 OPS.... Avevo dimenticato....comunque il compilatore è PICCLITE....Sapete dirmi se CCS si può scaricare da qualche parte? Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 11 novembre 2004 Segnala Share Inserita: 11 novembre 2004 CCS si acquista, la versione base costa anche veramente poco Link al commento Condividi su altri siti More sharing options...
lukappa87 Inserita: 11 novembre 2004 Autore Segnala Share Inserita: 11 novembre 2004 ma per quelle istruzioni sapete dirmi come usarle? Link al commento Condividi su altri siti More sharing options...
Claudio F Inserita: 11 novembre 2004 Segnala Share Inserita: 11 novembre 2004 (modificato) Non sono istruzioni, ma i nomi dei bit del registro EECON1 che controlla la lettura/scrittura sulla EEPROM (e sulla FLASH). In particolare per accedere alla EEPROM servono 4 registri: EEADR e EEDATA nel banco 2 servono a contenere l'indirizzo e il dato, EECON1 e EECON2 nel banco 3 servono per comandare le operazioni di lettura scrittura.Nel datasheet c'e' scritta la funzione di ciascuno di questi bit e brevi esempi di codice per la scrittura/lettura. Per esempio per scrivere un generico "dato_da_scrivere" ad un generico "indirizzo_cella" si puo' usare il seguente codice. Bank2 e Bank3 vanno sostituiti con le apposite istruzioni per impostare il banco ram attivo. Bank2 MOVLW indirizzo_cella MOVWF EEADR MOVLW dato_da_scivere MOVWF EEDATA Bank3 BSF EECON1,WREN ;protez. scrittura eeprom off BCF EECON1,EEPGD ;abilita operazioni eeprom MOVLW 055H ;sequenza di accesso 1 MOVWF EECON2 MOVLW 0AAH ;sequenza di accesso 2 MOVWF EECON2 BSF EECON1,WR ;avvia scrittura BTFSC EECON1,WR ;attende fine scrittura (bit WR a 0) GOTO $-1 BCF EECON1,WREN ;protez. scrittura eeprom on Modificato: 11 novembre 2004 da Claudio F Link al commento Condividi su altri siti More sharing options...
lukappa87 Inserita: 11 novembre 2004 Autore Segnala Share Inserita: 11 novembre 2004 il mio problema è scriverlo in C Link al commento Condividi su altri siti More sharing options...
lukappa87 Inserita: 13 novembre 2004 Autore Segnala Share Inserita: 13 novembre 2004 ragà gentilmente...un aiutino.In rete non trovo nulla che possa servirmi. Link al commento Condividi su altri siti More sharing options...
Il Novizio Inserita: 13 novembre 2004 Segnala Share Inserita: 13 novembre 2004 Ciao, questa routine scrive nella locazione address della data eeprom un valore (value). L'uso su un 18f452 ma penso vada bene anche per un 16f876. EEADR=address; //setta l'indirizzo EEDATA=value; //copia value in eedata EECON1bits.EEPGD = 0; EECON1bits.CFGS = 0; // questi 2 servono per puntare alla eeprom dati invece della eeprom program e dei bit di configurazione EECON1bits.WREN = 1; //questo abilita la scrittura INTCONbits.GIE=0; // questa è una routine standard che va seguita alla lettera dicono i data sheets. EECON2=0x55; EECON2=0xAA; EECON1bits.WR=1; INTCONbits.GIE=1; // fine routine standard. _asm nop _endasm; while (PIR2bits.EEIF); //poichè non uso l'interruzioni per quanto riguarda la scrittura della eeprom PIR2bits.EEIF = 0; //faccio così. Questo infatti non è altro che il flag interruzioni della eeprom.Quelli che citi tu,EEPGDWRERRWRENWRRDsono tutti flag in appositi registri per la scrittura nella eeprom. Ti consiglio comunque di scaricarti i data sheets dalla microchip e leggere la sezione riguardante la scrittura nella eeprom; quello che ho scritto sopra viene diretto da lì. :ph34r: Link al commento Condividi su altri siti More sharing options...
lukappa87 Inserita: 26 novembre 2004 Autore Segnala Share Inserita: 26 novembre 2004 queste istruzioni non vanno bene... ho provato ma non compila.comunque qualcuno ha dei suggerimenti?ps:possibilmente con esempi facili grazie 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