Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

24c64 hata

Başlatan mech, 17 Nisan 2009, 15:28:38

mech

Merhaba Arkadaşlar. 24C64 seri eepromunu 24c16 gibi kullanmaya çalışıyorum ama her okumam 255 olarak çıktı veriyor.

a=12
HBusOut %10100000,1,[a]
DelayMS 10
HBusIn %10100001,1,[a]
Print at 1,1,Dec a

 Teşekkürler.
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Şarttır

mech

' Transmit a byte to a 24LC32 serial eeprom
DIM PP4 as BYTE SYSTEM
HBSTART                          ' Send a START condition
HBUSOUT %10100000                ' Target an eeprom, and send a WRITE command
HBUSOUT 0                        ' Send the HIGHBYTE of the address
HBUSOUT 0                        ' Send the LOWBYTE of the address
HBUSOUT "A"                      ' Send the value 65 to the bus
IF PP4.0 = 1 THEN GOTO Not_Received  ' Has ACK been received OK ?
HBSTOP                           ' Send a STOP condition
DELAYMS 10

protonun helpinde anlatılmış.
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Şarttır

pcb

 
24C512 eprom a birşeyler yazmaya çalışıyorum ama sizin gibi 255 değerleri okuyorum, sorunu nasıl hallettiniz acaba ?

Symbol YAZ %10100000 ' Target an eeprom
 Symbol OKU %10100001
 Dim EPROM   As  Byte
 Symbol SDA = PORTC.3 ' Alias the SDA (Data) line
 Symbol SCL = PORTC.4
 
 HBStart
 EPROM=128
 HBusOut 0                        ' Send the HIGHBYTE of the address
 HBusOut 0                        ' Send the LOWBYTE of the address 
 HBusOut YAZ, 20, [EPROM] 
 DelayMS    100
 EPROM=240
 HBusOut YAZ, 30, [EPROM]
 
 DELAYMS 50
 
 EPROM = HBusIn OKU, 30
 DelayMS    100
 EPROM = HBusIn OKU, 40
 STOP

muhittin_kaplan

 Symbol YAZ %10100000 ' Target an eeprom
Symbol OKU %10100001

da = olmayacak mı ?

pcb

@muhittin_kaplan

Alıntı yapılan: muhittin_kaplan - 04 Ekim 2010, 03:53:35

da = olmayacak mı ?

söylemek istediğinizi anlayamadım ?

muhittin_kaplan

kodunuzda
Symbol YAZ %10100000 ' Target an eeprom 
Symbol OKU %10100001

var
Symbol YAZ= %10100000 ' Target an eeprom 
Symbol OKU=%10100001

olarak denermisiniz.

muhittin_kaplan

#6
  HBStart                         ' Send a Start condition
  HBusOut %10100000               ' Target an eeprom with bus address 0, and send a Write command
  HBusOut 0                       ' Send the High Byte of the address
  HBusOut 0                       ' Send the Low Byte of the address
  For bLoop = "0" To "9"          ' Create a loop containing ASCII 0 to 9
    HRSOut bLoop                  ' Display the value on the serial terminal
    HBusOut bLoop                 ' Write the value of bLoop to the eeprom
  Next                            ' Close the loop
  HBStop                          ' Send a Stop condition
  DelayMS 5                       ' Wait for the data to be entered into eeprom matrix
'
' Receive bytes from the I2C bus
'


  HBStart                         ' Send a Start condition
  HBusOut %10100000               ' Target an eeprom with bus address 0, and send a Write command 
  HBusOut 0                       ' Send the High Byte of the address
  HBusOut 0                       ' Send the Low Byte of the address
  HBReStart                       ' Send a Restart condition
  HBusOut %10100001               ' Target an eeprom with bus address 0, and send a Read command
  For bLoop = 0 To 9              ' Create a loop
    sMyString[bLoop] = HBusIn     ' Load the String with bytes received
    If bLoop = 9 Then             ' Are we at the last byte?
      HBStop                      ' Yes. So send a Stop condition
    Else                          ' Otherwise...
      HBusAck                     ' Send an Ack condition
    EndIf
  Next                            ' Close the loop
  HRSOut sMyString, 13            ' Display the received string on the serial terminal
  Stop



http://www.myamicus.co.uk/content.php?252-Hbusin-Hbusout-BASIC-code-replacement

pcb

Haklısınız "=" eklenmeliydi.
Proteus da uygulama yine sabit değerler okuyor "255" gibi, eeprom sipariş ettim geldiğinde tekrar denicem, amacım eepromdan resim bastırmak ekrana

ilginiz için teşekkürler

mech

#8
Adresi 2 byte olarak gönderiyorsun yani 0,255'ten sonra 1,0 geliyor.
Bilginin Efendisi Olmak İçin Çalışmanın Kölesi Olmak Şarttır