Strana 1 z 1

String do 24c04

Napísané: 19 Jan 2013, 21:31
od používateľa sonikmartin
Ahoj chlapci, muzete mi nekdo poradit jak dostanu string*21 do eepromky 24c04

Dekuji

Zacal jsem nejak takle, ale nevim jak pokracovat


Sub Strtohex

_m63 = Makedec(_m61)
_m30 = Mid(tym1_1 , _m63 , 1)
_m60 = Asc(_m30)
_m62 = Len(tym1_1)

_tym1(_m63) = _m60

Incr _m61

If _m63 = _m62 Then
_m61 = 1

End If

Re: String do 24c04

Napísané: 19 Jan 2013, 22:34
od používateľa smotek7

Re: String do 24c04

Napísané: 19 Jan 2013, 23:41
od používateľa sonikmartin
Zajimave, ale malinko jsem se v tom stratil a navic mi to príjde celkem slozite. Neznáte někdo něco jednodusího.

Dekuji

Re: String do 24c04

Napísané: 20 Jan 2013, 10:45
od používateľa smotek7
Aky mas procesor? Nestaci jeho eprom?
Dim Ebyt As Eram Byte

Re: String do 24c04

Napísané: 20 Jan 2013, 11:12
od používateľa jenda23
Ahoj todle řešim jednoduše, máš string o nějaký dýlce x písmen, tu si zjistíš pomocí fungce LEN, následně jí pomocí funkce var=MID v cyklusu n=LEN rozeberu na jednotlivý znaky, každej znak převedu do bináru o hodnotě 0-255 pomocí funkce dejme tomu A=B kde A je proměnná typu byte a B je string*1 v němž je uloženej znak z funkce MID. V ten moment máš v A binární hodnotu odpovídající znaku v tabulce ASCII tu si uložíš do EEPROMy a rekonstrukci znaků provedeš jednoduše za pomocí funkce MID=var při čemž do var provedeš zápis pomocí funkce var=CHR(A) a je to...

Re: String do 24c04

Napísané: 20 Jan 2013, 11:19
od používateľa sonikmartin
Dekuji Jeniku, neco takoveho jsem potreboval, jenom mi nedoslo ze je to az tak primitivni. Rozpad uz mam, viz kod co jsem sem dal, takze jenom upravim vystup.

Dekuji panové

Re: String do 24c04

Napísané: 20 Jan 2013, 19:04
od používateľa Pega
Jde to i takto

Kód: Vybrať všetko

Dim Pole21 As String * 21
Dim Bytes(21) As Byte At Pole21 Overlay

For I = 1 To 21
   If Bytes(i) = 0 Exit For        'konec stringu
   Eeprom = Bytes(i)
Next

Re: String do 24c04

Napísané: 20 Jan 2013, 19:11
od používateľa sonikmartin
jj To uz jsem taky nekde zahledl. Dekuji

Re: String do 24c04

Napísané: 21 Jan 2013, 23:05
od používateľa sonikmartin
Tak kluci, dalsi problemek, Ta eepromka je asi zakleta, nebo jsem uplne blbej. Mam kod:

Sub Eepromwrite(byval Adresa As Word , Byval Hodnotain As Byte)
I2cstart
I2cwbyte &HA8 '10101000
I2cwbyte Adresa
I2cstart
I2cwbyte Hodnotain
I2cstop
End Sub

Sub Eepromread(byval Adresa As Word , Byval Hodnotaout As Byte)
I2cstart
I2cwbyte &HA8 '10101000
I2cwbyte Adresa
I2cstart
I2cwbyte &HA9 '10101001
I2crbyte Hodnotaout , Nack
I2cstop

End Sub

Sub Writeeprom
Gosub Strtohex
Call Eepromwrite(1 , 25)
Adress = Adress + 1
'Adresseram = Adress
End Sub

Sub Readeprom
Adress = 1
Call Eepromread(1 , Eout)
End Sub

Sub _write
Gosub Writeeprom
End Sub

Sub _read
Gosub Readeprom
End Sub

rutiny, write a read volam zatim pres debounce. Nejdrive zavolám write, mel by se zapsat znak do eeprom, pricte se adresa o 1 a melo by byt hotovo, ale potom kdyz to chci vycist tak nic. Na LCD mam vytazený priznak Eout a ten mam porad 0 at mu tam poslu cokoli. Mate nekdo nejaky napad??

Děkuji

Re: String do 24c04

Napísané: 22 Jan 2013, 16:12
od používateľa Pega
V helpu Bascomu máš příklad jak zapisovat do 24c04.
Heslo I2CWBYTE.

Re: String do 24c04

Napísané: 22 Jan 2013, 17:19
od používateľa sonikmartin
podle toho jsem to upravil a porad nic, Zacinam si myslet ze je spatny cip

Tak nic, jsem se zodpovedne upsal. Dekuji za pomoc