|
Svet elektronike Revija za prave elektronike
|
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
vilko Profesionalec
Pridružen/-a: Pon Jan 2004 11:54 Prispevkov: 807 Kraj: Ljubljana
|
Objavljeno: Sob Feb 07, 2004 12:54 pm Naslov sporočila: 24LC04 in Bascom8051 pomoč! |
|
|
Na Bascom testni plošči sem uspešno pisal in bral na 24c04 serijski eeprom z frekvecno kristala mikroprocesorja 12MHz in brez config I2cdelay ukaza. Enostavno sem pognal sample program, ki je bil skupaj z Bascom instalacijo in je slo.
Na drugi plošči imam mikroprocesor gnan z 22118400 Hz in eeprom 24LC04, pa ne gre.
Kakšen pomen ima bascom ukaz Config I2Cdelay? Iz helpa nekako ne razumem za kaj se gre, lahko da je pri frekvenci kristala 22118400 potreben.
Drugo kar bi lahko bilo narobe, je naslov. Med tem ko je pri 24C04 naslov &HAxxxr/~w je lahko levi del naslova (HexA) pri 24LC04 drugačen. Ne najdem data sheet za ta device.
Kakšen je levi del naslova čipa 24lc04
Pozdrav
Vilko |
|
Nazaj na vrh |
|
|
Vlado Profesionalec
Pridružen/-a: Ned Jan 2004 16:11 Prispevkov: 556 Kraj: Ljubljana
|
Objavljeno: Sob Feb 07, 2004 3:19 pm Naslov sporočila: 24LC04 EEP |
|
|
Pozdravljeni!
Tudi sam nimam podatkov za LC serijo vendar ko sem poskusil iskati sem na eni češki strani našel samples za 24lc04.Upam da bo pomagalo.
Vlado
'------------------------------------------------------------------------
' http://www.mikrodenetleyici.com
'------------------------------------------------------------------------
' Açýklama: Örnek AT24LC04 Seri EEPROM a I2C Protokolünü kullanarak nasýl
' eriţilebileceđini gösterir. Kodlar (MINI-MAX/51-C Board) AT89S53
' Microcontroller ve 22.1108 MHz crystal ile test edilmiţtir.
'-------------------------------------------------------------------------
' Konfigürasyon
$baud = 19200 'RS232 Portunu 19200 Baud olarak ayarla
$crystal = 22110800 '22.1108 MHz crystal
'I2C Protokolü için Clock ve data pinlerini ayarlýyoruz
'EEPROM umumuzun SCL ve SDA pinlerini Mikrodenetleyicimizin
'hangi pinlerine bađlandýđýný belirtiyoruz
Config Scl = P1.6 'P1.6 SCL (Clock) hattý
Config Sda = P1.7 'P1.7 SDA (data) hattý
'Fonksiyonlarýmýzý tanýmlýyoruz
Declare Sub Write_eeprom(address As Byte , Value As Byte)
Declare Sub Read_eeprom(address As Byte , Value As Byte)
'Sabitler Tanýmlanýyor
Const Addressw = &HA0
Const Addressr = &HA1
Dim Address As Byte , Value As Byte 'Deđiţkenlerimizi tanýmlýyoruz
Print
Call Write_eeprom(1 , 2) '2 deđerini eepromun 1. adresine yaz
Call Read_eeprom(1 , Value) : Print "Address 1 = " ; Value 'yazdýđýmýz deđeri okutuyoruz.
Call Write_eeprom(1 , 4) '4 deđerini eepromun 1. adresine yazýyoruz
Call Read_eeprom(1 , Value) : Print "Address 1 = " ; Value 'Tekrar yazdýđýmýz deđeri okutuyoruz
End
'AT24LC04 EEPROM a byte yazma kod örneđi
Sub Write_eeprom(address As Byte , Value As Byte)
I2cstart 'Kondüsyonu baţlat
I2cwbyte Addressw 'slave adres
I2cwbyte Address 'EEPROM a yazacađýmýz adresi gönderiyoruz
I2cwbyte Value 'Yazýlacak veri gonderiliyor
I2cstop 'Kondüsyonu durdur
Waitms 10 '10 milisaniye gecikme
End Sub
'AT24LC04 EEPROM dan veri okuma kod örneđi
Sub Read_eeprom(address As Byte , Value As Byte)
I2cstart 'I2C Protokolünü baţlat
I2cwbyte Addressw 'slave adres
I2cwbyte Address 'Okuyacađýmýz adresi gönderiyoruz
I2cstart 'Yeniden baţlatýyoruz
I2cwbyte Addressr 'slave adres (Oku)
I2crbyte Value , 9 'Byte okunuyor
I2cstop 'I2C Protokolünü durduruyoruz
End Sub |
|
Nazaj na vrh |
|
|
Gost
|
Objavljeno: Sob Feb 07, 2004 4:21 pm Naslov sporočila: morda pa je kriv hardware, |
|
|
Hvala Vlado za odgovor! Še vedno kopljem, ta program je podoben mojemu, narejen kot je primer, ki sem ga dobil z bascom prevajalnikom. Le kristal ima drugačen, tak kot jaz, in torej dela.
Prav lahko da ne dela pri meni za to, ker je ta čip na tisti plošči, na kateri sem imel nekaj časa kratek stik med 5V in 12V in mu to morda ni bilo všeč.
Gremo v nove delovne zmage!
Bo javil kako gre!
Pozdrav
Vilko |
|
Nazaj na vrh |
|
|
Gost
|
Objavljeno: Sob Feb 07, 2004 4:34 pm Naslov sporočila: Dela! |
|
|
Ja, ja, kar je preveč je preveč. In dvanajst voltov je bilo zanj preveč! Sem prevezal sda in sdl na drugo ploščo, na drug čip, in tam dela.
Čemu služi config i2cdelay pa še vedno ne vem!
pozdrav
Vilko |
|
Nazaj na vrh |
|
|
red_mamba Profesionalec
Pridružen/-a: Tor Jan 2004 16:44 Prispevkov: 181 Kraj: Mozirje
|
Objavljeno: Ned Feb 08, 2004 3:13 pm Naslov sporočila: |
|
|
z i2cdelay nastvaiš pavzo če imaš prehitro uro, to moraš ti nastavit ker očitno eeprom ne zmore takšne hitrosti. nasplošno se mi zdi da je za i2c omejitev nekje 400k za clk. |
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu You cannot attach files in this forum You cannot download files in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|