Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Problem z 24c04

aazum
-
-
Posty:4
Rejestracja:27 gru 2003, o 21:11
Problem z 24c04

Postautor: aazum » 9 kwie 2004, o 14:09

Nie jestem wstanie uruchomić pamięci 24c04 z at90s2313, programik jest następujący


Declare Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
Declare Sub Read_eeprom(byval Adres As Byte , Value As Byte)

Const Addressw = 160
Const Addressr = 161

Dim B1 As Byte , Adres As Byte , Value As Byte


Print "zapis"
Call Write_eeprom(1 , 5)
Call Write_eeprom(2 , 5)
Call Write_eeprom(3 , 5)
Call Write_eeprom(4 , 5)

Print "odczyt"
Call Read_eeprom(1 , Value) : Print "1:" ; Value
Call Read_eeprom(2 , Value) : Print "2:" ; Value
Call Read_eeprom(3 , Value) : Print "3:" ; Value
Call Read_eeprom(4 , Value) : Print "4:" ; Value


End

Sub Write_eeprom(byval Adres As Byte , Byval Value As Byte)
I2cstart
I2cwbyte Addressw
I2cwbyte Adres
I2cwbyte Value
I2cstop
Waitms 10
End Sub



Sub Read_eeprom(byval Adres As Byte , Value As Byte)
I2cstart
I2cwbyte Addressw
I2cwbyte Adres
I2cstart
I2cwbyte Addressr
I2crbyte Value , Nack
I2cstop
End Sub

program zwraca wartość ''0"
w bascomie ustawilem

SDA -> portb.4
SDL -> portb.3

kostka 24c04 podłaczona następująco

piny 1,2,3,4 (A0,A1,A2) ->zwarte do masy (adresy W/R 160/161)
pin 7 (TST) wisi w powietrzu

Jest roznica pomiedzy pamieciami EEPROM roznych producentow?
Np. pomiedzy kostka st24c04 a at24c04, chodzi mi o adsresowanie,
oraz wyprowadzenia.

pio-szc
-
-
Posty:2
Rejestracja:7 kwie 2004, o 22:49
Lokalizacja:szczecin

Postautor: pio-szc » 9 kwie 2004, o 15:25

różnicy nie ma żadnej (chyba) ,poza jak sam zauważyłeś producentem
st microelectronics/atmel.

czy linie sda i scl są podwieszone ?
czy uc widzi 24c04 ? sprawdz czy uc sam znajdzie adresy na magistrali.
i standardowo / czy scl-scl, sda-sda.

aazum
-
-
Posty:4
Rejestracja:27 gru 2003, o 21:11

Postautor: aazum » 9 kwie 2004, o 15:52

tak SDA-SDA oraz SCL-SCL, uc nie widzi 24c04,szukam za pomoca programiku->


Dim Adres As Byte

Print "badanie ukladu"
For Adres = 150 To 200 Step 2
I2cstart
I2cwbyte Adres
I2cstop
If Err = 0 Then

Print "uklad=" ; Adres
Wait 1
Else

Print "pod " ; Adres ; " nie ma"
Waitms 500
End If
Next Adres
end

po zaprogramowaniu 2313 zupelny brak reakcji,program staje
po wykonaniu Print "badanie ukladu"
nie mam rezystorów podciagajacych 4.7k, czy to moze byc tym spowodowane?

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 9 kwie 2004, o 16:45

A czy masz rezystory po jakieś 10k od SDA i SCL do +5V?

aazum
-
-
Posty:4
Rejestracja:27 gru 2003, o 21:11

Postautor: aazum » 9 kwie 2004, o 16:50

wlasnie nie mam tych rezytorkow, w helpie bascoma znalazlem schemat,ponoc dla 2313 zasilanego z 5V lepsze sa 4.7k,w tym schemacie sa jeszcze szeregowo z liniami SDA,SCL rezystory 300om,one tez maja byc?

Awatar użytkownika
gawel
-
-
Posty:683
Rejestracja:24 lis 2003, o 11:19
Lokalizacja:Białystok

Postautor: gawel » 9 kwie 2004, o 16:57

Szeregowych oporników nie dawaj. Podpolaryzowanie linii SDA i SCL możesz zrobić za pomocą nawet i 4k7. W sumie nie jest to istotne, wystarczy, że będzie z jakiegoś rozsądnego przedziału. Zbyt mała wartość rezystancji zbytnio obciąża wyjścia procka, zbyt duża osłabia ich wpływ.

aazum
-
-
Posty:4
Rejestracja:27 gru 2003, o 21:11

Postautor: aazum » 9 kwie 2004, o 17:47

dzieki wielgachne :) dalem 10k, wszystko dziala o.k:)

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 45 gości