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