Väänsin C:llä kaksi ohjelmaa EEPROM:n komentamiseen. Kohteena FM24C64 FRAM muisti.
Toisella kirjoitetaan merkkijono EEPROM:lle ja toisella luetaan ja tyhjennetään.
Nämä ovat osa omaa GPS-tracker-rakennelmaa, eivätkä sinänsä täysin yleiskäyttöisiä, mutta ehkä niistä saa vinkkiä johonkin muuhun kehittelyyn, vaikkeivat kovin kaunista koodia olekaan.
Nämä toimivat ainakin omassa kokoonpanossani kuten pitääkin.
Paketissa on myös ohjelma GPS:n $GPRMC-lauseen lukemiseen, sekä 4-riviselle LCD:lle tulostamiseen.
KORJAUS:
Kuvittelin jo kaiken olevan hyvin, koska kaikki testit näyttivät vihreää.
I2C:n kirjoittamisessa löytyikin ongelma. ohjelma kirjoittaa kaiken ensimmäiselle 256 tavulle ja kiertyy aina alkuun.
Kirjoitusrutiini käyttää siis vain alempaa 8 bittiä osoitteessa.:
- Mikään ja yksikään netistä löytämäni ohjeet eivät kerro, miten EEPROM:lle kirjoitetaan, jos muistin koko on suurempi, kuin 256 tavua.
WiringPi ja OrangePi ovat parhaillaan tutkinnassa.
Tätä menoa kirjoitan kohta oman low-level-paketin, jolei muuta ratkaisua löydy.
Pidätelkää hengitystä ;(