1 wire EEprom

Rasprava o AVR mikrokontrolerima, AVR projekti i drugo vezano za AVR...

Moderators: pedja089, stojke369, trax, InTheStillOfTheNight

Post Reply
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

1 wire EEprom

Post by bob4 »

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
Maki
Odlično uznapredovao
Odlično uznapredovao
Posts: 766
Joined: 02-07-2012, 12:54

Re: 1 wire EEprom

Post by Maki »

Rekao bih da bi slanje trebalo ići nekako ovako:

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
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....
User avatar
bob4
Stariji član
Stariji član
Posts: 2572
Joined: 31-01-2010, 16:12
Location: Kutina

Re: 1 wire EEprom

Post by bob4 »

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
Post Reply