Ongelmat
Vikoja ei oikeastaan tullut havaittua, mutta ongelmia oli ohjelmoinnissa. Lähinnä FLASH-muistin tyhjentämisessä ja kirjoittamisessa sekä kestävyydessä ylikirjoitusten suhteen.
FLASH-muistin käyttäminen
FLASH-muistin tyhjentämisen onnistui tekemään, kun EEADR ja EEADRH rekistereihin laitettu uusi FLASH-muistiin osoittavan osoitteen jälkeen laittoi 70 NOP-käskyä ennen tyhjennysjaksoa. Eli ilmeisesti PIC 16F88 tarvitsi ainakin tuon verran aikaa, että uusi tyhjennettävä osoite FLASH-muistissa meni perille. Ennen kuin käynnistettiin itse tyhjennysjakso.
Eli yhteenvetona FLASH-muistin tyhjennys itseasiassa kirjoittaa yli siellä olevan aikaisemman datan. Jonka jälkeen FLASH-muisti on tyhjä uudelle datalle kun halutaan tallentaa uusi ohjelma valourulle potentiometrillä hehkulampun kirkkautta säätämällä.
FLASH-muistin käyttökerrat
Sitten voisi mainita ongelmaksi sen, että vapaaksi jäänyt FLASH-ohjelmamuisti ei ole sama asia kuin 16F88:sta löytyvä EEPROM-muisti. Tuo FLASH-muisti kestää ylikirjoituskertoja huomattavasti vähemmän kuin EEPROM-muisti.
Mutta koska tässä projektissa en halunnut käyttää ylimääräistä EEPROM-muistia, johon olisi mahtunut tuhansia tavuja muistiin A/D-muuntimelta. Niin käytin sitten ohjelmalta eli 16F88 ladattavalta HEX-ohjelmakoodilta yli jäänyttä FLASH-muistia. Ja tässä kokeilussa se toimi hyvin ja teki sen mitä tarvittiin.
© Copyright <> jyrki.k(at)innopultti.fi <> Päivitetty: 30.8.2008