Dobio sam na popravak uređaj koji u sebi sadrži mali Atmel 89c2051 i EEPROM DS2430 https://datasheets.maximintegrated.com/ ... S2430A.pdf
Normalno; Atmel je riknuo, pa ja sad pišem novi u bascomu; ali muči me ova komunikacija. Uspio sam samo pročitati sadržaj eeproma; ali nikako da upišem podatak. Uređaj ima 4 brojke.
Ovako sam ga pročitao:
1wreset
1wwrite&HCC
1wwrite &F0
For i=1 to 16
Ar(i)=1wread()
Next
jedinica = Ar(6)
desetica = Ar(5)
stotica = Ar (4)
tisuca = Ar(3)
1wreset
1 wire EEprom
Moderators: pedja089, stojke369, trax, InTheStillOfTheNight
Re: 1 wire EEprom
Rekao bih da bi slanje trebalo ići nekako ovako:
Jer koliko sam shvatio da bi promijenio samo jedan byte u memoriji potrebno je cijeli buffer ponovno prepisat preko početnih podataka. Zato predlažem da se prvo podaci uvuću u buffer pa da se onda potom po njima piše i nakraju se kao takvi vrate u data.
Edit:
Male izmjene u kodu....
Code: Select all
1wwrite &F0 'Uvuće u buffer sve iz memorije
1wwrite &00 ' Poćetnu adresu forme radi...
1wreset 'prekinuti čitanje
1wwrite &0F 'Šalje komandu za upis u buffer
1wwrite &?? '?? označava početnu adresu kud da spremi byte
1wwrite &?? '?? vrijednost 1 jednog byte-a
1wreset 'gotov prijenos u buffer
1wwrite &A5 'kopira buffer u data
postaviti prijenosnu lijiju (data) u logičku 1 (iznad 2,8V) na barem 10ms
Edit:
Male izmjene u kodu....
Re: 1 wire EEprom
Hvala na pomoći. Riješeno ovako:
Code: Select all
1wreset
1wwrite &HCC
1wwrite &H0F
1wwrite &H00
1wwrite &H01 'tisuca
1wwrite &H02 'stotica
1wwrite &H03 'desetica
1wwrite &H04 'jedinica
1wreset
1wwrite &HCC
1wwrite &H55
1wwrite &HA5
P3.0 = 1
Waitms 10
P3.0 = 0
1wreset