Tere!
Probleem siis selline, et kui täidan ära käsutsükli, millega kirjutan andmed EEPROM-i siis peale seda kui soovin kontrollida näiteks:
BTFSC PORTB,0 ;kas nupp1 vajutatud? Kui ei siis jätame järgmise rea vahele
GOTO ......
Ja kui signaal antud bitil on 0 siis ta ikkagi võtab järgmise rea, mitte ei hüppa üle.
Enne EEPROM-i kirjutamist seda jama ei ole seega kahtlustan, et minu EEPROM kirjutamise kood on veits vigane.
Kood siis:
;EEPROM-i KIRJUTAMINE
BCF STATUS, RP0
MOVLW 0x00 ;mälupesa aadress,
MOVWF EEADR ;kuhu kirjutama hakkan
MOVFW TI ;muutuja, mida soovin mällu talletada
MOVWF EEDATA ;muutuja pannakse EEDATA registrisse
BSF STATUS,RP0
BSF EECON1,WREN ;lubame mälumuutujasse kirjutamise
MOVLW 55h ;järgm neli rida on tarvis, et
MOVWF EECON2 ;oleks võomalik
MOVLW 0AAh ;EEPROM-i
MOVWF EECON2 ;üleüldse midagi kirjutada
BSF EECON1,WR ;alustame kirjutamist
ee_wr1 btfsc EECON1,WR ;kas valmis?
goto ee_wr1 ;kui ei siis mine korda
BCF EECON1,WREN ;keela EEPROM-i kirjutamine
return ;jätkame programmi kohast, kust pooleli jäime
Katsetatud MPLABIDEv7.22 simulaatoril
Ette tänades
opipoiss
Probleem siis selline, et kui täidan ära käsutsükli, millega kirjutan andmed EEPROM-i siis peale seda kui soovin kontrollida näiteks:
BTFSC PORTB,0 ;kas nupp1 vajutatud? Kui ei siis jätame järgmise rea vahele
GOTO ......
Ja kui signaal antud bitil on 0 siis ta ikkagi võtab järgmise rea, mitte ei hüppa üle.
Enne EEPROM-i kirjutamist seda jama ei ole seega kahtlustan, et minu EEPROM kirjutamise kood on veits vigane.
Kood siis:
;EEPROM-i KIRJUTAMINE
BCF STATUS, RP0
MOVLW 0x00 ;mälupesa aadress,
MOVWF EEADR ;kuhu kirjutama hakkan
MOVFW TI ;muutuja, mida soovin mällu talletada
MOVWF EEDATA ;muutuja pannakse EEDATA registrisse
BSF STATUS,RP0
BSF EECON1,WREN ;lubame mälumuutujasse kirjutamise
MOVLW 55h ;järgm neli rida on tarvis, et
MOVWF EECON2 ;oleks võomalik
MOVLW 0AAh ;EEPROM-i
MOVWF EECON2 ;üleüldse midagi kirjutada
BSF EECON1,WR ;alustame kirjutamist
ee_wr1 btfsc EECON1,WR ;kas valmis?
goto ee_wr1 ;kui ei siis mine korda
BCF EECON1,WREN ;keela EEPROM-i kirjutamine
return ;jätkame programmi kohast, kust pooleli jäime
Katsetatud MPLABIDEv7.22 simulaatoril
Ette tänades
opipoiss
Comment