Bird Postat Martie 23, 2008 Partajează Postat Martie 23, 2008 Va salut ! Stiti cum as putea scrie variabile gen : ora , minute ....., in EEPROM-ul PIC-ului folosind PicBasicPro ? Nu vreau sa folosesc o alta memorie externa . Macar ca idee . Cu multumiri , Link spre comentariu
vsurducan Postat Martie 24, 2008 Partajează Postat Martie 24, 2008 In general toate compilatoarele evoluate au instructiuni gen write_eeprom/read_eeprom + parametri (adresa si data) Scrierea in memoria eeprom la PIC se face utilizand o secventa standard care se poate utiliza si sub picbasic in mod cert.Scrierea minutului la aceesi locatie de memorie e o chestiune paguboasa, te las sa intelegi singur de ce, ai max 100.000 de scrieri in eeprom dupa care eepromul cam cade (cu cat e mai cald cu atat e mai sigur). ; scriere eeprom, data si address sunt registristii de unde se scrie in eedata si eeaddr, se presupune ca bancul este recunoscut automat de compilator (bank=banksel), daca nu trebuie adresat manual fiecare registru care nu este in bank0assembler bank movfw Data ; bank movwf EEDATA ; store data to write to EEprom bank movfw Address ; w = address bank movwf EEADR ; store address of EEprom bank bcf EEPGD ; select data EEprom local loop bsf WREN ; select WRITE bcf GIE ; disable interrupts bcf GIE ; again, movlw 0x55 ; required sequence movwf EECON2 ; movlw 0xAA ; movwf EECON2 ; bsf WR ; start write operation nop ; nop ; bsf GIE ; enable interrupts again bcf WREN ; disable further writing page loop loop: ; wait to complete btfsc WR ; goto loop ; end assembler;citire eepromassembler bank movfw Address ; program in bank 0 bank movwf EEADR ; EEADR = a bank bcf EEPGD ; select data eeprom bsf RD ; select READ mode bank movf EEDATA,w ; w = data from EEprom bank movwf Data ; d = w = data from EEpromend assembler Link spre comentariu
Bird Postat Martie 24, 2008 Autor Partajează Postat Martie 24, 2008 In general toate compilatoarele evoluate au instructiuni gen write_eeprom/read_eeprom + parametri (adresa si data) Scrierea in memoria eeprom la PIC se face utilizand o secventa standard care se poate utiliza si sub picbasic in mod cert. .....desigur , exista aceste doua comenzi si in PBP , dar se folosesc numai pentru constante . Scrierea minutului la aceesi locatie de memorie e o chestiune paguboasa, te las sa intelegi singur de ce, ai max 100.000 de scrieri in eeprom dupa care eepromul cam cade (cu cat e mai cald cu atat e mai sigur). Cu argumentul de mai sus , mi-am schimbat ideea de a mai folosi scriere variabile in EEPROM . Parca am fost " cu capul in nori " . Nu m-am gandit nici o clipa la aspectul asta . Va multumesc pentru amabilitatea de a-mi raspunde . Cu stima , Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum