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