Dotaz na PICe a Eprom
Frantiąek Burian
BuFran@seznam.cz
Neděle Květen 23 21:06:05 CEST 2004
Dobrý den,
23. května 2004, 20:49:49, napsal jste:
Nikde tu nevidím kvitování příznaku EEIF. Kdo jej nuluje ? ®e by
nějaký skřítek ? Programátor by se na hloupé skřítky neměl spoléhat
... Viz kód:
M©> program
M©> tady na tom miste jsou hodnoty k zapsani+adresa
M©> call save_eprom
M©> tady na tom miste jsou hodnoty k zapsani+adresa
M©> .
M©> .
M©> .
M©> call read_eprom
M©> sleep
M©> End
M©> save_eprom
M©> bcf INTCON,GIE
M©> banksel EEDATA
M©> movwf EEDATA ;data k zapsani do EEPROM
M©> banksel EECON1
M©> bcf EECON1,EEPGD ;zapis do Datove casti pameti
bcf PIR2,EEIF
M©> bsf EECON1,WREN ;v 1 povoluje zapis do EEPROM
M©> bcf INTCON,GIE ;zakazani vsech interrupts
M©> movlw 55h ;nutna sequence
M©> movwf EECON2 ;nutna sequence
M©> movlw 0AAh ;nutna sequence
M©> movwf EECON2 ;nutna sequence
M©> bsf EECON1,WR ;zapis do EEPROM
M©> banksel PIR2
M©> btfss PIR2,EEIF ;kontrola, zda uz je zapsano
M©> goto $-1 ;neni -> zpet
M©> bsf INTCON,GIE
M©> banksel TMR0 ;banka 0
M©> return
M©> read_eprom
M©> movlw 20 ;adresa v EEPROM(snad uz je to dobre)
M©> call rdee ;precti hodnotu z pameti
M©> movwf ZMENA ;a uloz ji do RAM
M©> movlw 21 ;adresa v EEPROM
M©> call rdee
M©> movwf ROZBEH_CERPADLA
M©> movlw 22 ;adresa v EEPROM
M©> call rdee
M©> movwf TOPENI_TIME
M©> movlw 23 ;adresa v EEPROM
M©> call rdee
M©> movwf TEPLOTA_MAX
M©> movlw 24 ;adresa v EEPROM
M©> call rdee
M©> movwf FLAG_TOPENI
M©> return
M©> rdee
M©> bsf STATUS,RP1
M©> bcf STATUS,RP0
M©> movwf EEADR
M©> bsf STATUS,RP0
M©> bcf EECON1,EEPGD
M©> bsf EECON1,RD
M©> bcf STATUS,RP0
M©> movf EEDATA,w
M©> banksel TMR0 ;navrat do banky0
M©> return
M©> No a jako dukaz, ze to je zapsane dobre si myslim je, ze kdyz to
M©> jenom zapisu a potom to prectu v programatoru, tak ty hodnoty jsou
M©> v EEPROM zapsane dobre a na spravnych mistech. Pouze to cteni je porad stejne
M©> spatne (0Fh). No ale kdyz se mezi obe volani da pauza (mam uz overeno
M©> 100ms) tak to funguje. A ja se znovu ptam: PROC TAM MUSI BYT PAUZA???
Ono totiľ je EEIF stale v log.1 a tudiz ta "problematicka" smycka je
vzdy preskocena. Taky se mi stavalo. A taky bacha na nektere 16F627,
maji chybu prave v modulu EEPROM a programuji se uplne jinak ...
M©> p.s. cekam zdrcujici kritiku meho postupu :-()
:) Taky jsem se nad podobnymi problemy drive pachtil ....
--
S pozdravem,
Frantiąek Burian
BuFran@seznam.cz
------------- daląí část ---------------
Netextová příloha byla odstraněna...
Jméno: [ľádný popis není k dispozici]
Typ: application/pgp-signature
Velikost: 282 bytes
Popis: [ľádný popis není k dispozici]
Url : http://list.hw.cz/pipermail/hw-list/attachments/20040523/34c6549d/attachment-0001.pgp
------------- daląí část ---------------
Netextová příloha byla odstraněna...
Jméno: smime.p7s
Typ: application/pkcs7-signature
Velikost: 1095 bytes
Popis: S/MIME Cryptographic Signature
Url : http://list.hw.cz/pipermail/hw-list/attachments/20040523/34c6549d/attachment-0003.bin
Daląí informace o konferenci Hw-list