Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 12 kwi 2025, o 21:21


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 40 ]  Przejdź na stronę 1, 2  Następna strona
    Autor Wiadomość
    PostNapisane: 25 kwi 2020, o 13:50 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    Witam , mam mały problem w ćw w BB z RTC i EEPROMEM , mianowicie RTC działa jak powinien lecz EEPROM nie za bardzo kod jest skopiowany z BB , a na LCD zamiast napisu EEPROM wyświetla mi kwadraty
    Obrazek

    Oczywiście Adresy sprawdziłem

    Obrazek

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Dodam jeszcze że osobno RTC jak i EEPROM działa jak powinno



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 14:06 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    wojtas14136 napisał(a):
    a na LCD zamiast napisu EEPROM wyświetla mi kwadraty

    Bo trzeba w Eclipse załączyć wgrywanie danych również do EEPROM

    Obrazek

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 14:15 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    Jest zaznaczone w pierwszej kolejności to sprawdzałem
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 14:53 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    dobrze a sprawdzałeś adres eeproma ? tzn linię adresową ? Masz zworkę na ATB - ja teraz nie mam jak sprawdzić ale być może trzeba zmienić

    Obrazek

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 15:00 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    Próbowałem jak zworka na A1=0 to adres mam 0xA8, a jak A1=1 to adres EEPROM 0xAC , pomimo zmian dalej taka sama sytuacja na LCD



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 15:39 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    ok jest problem właśnie sprawdzam ... kurczę ... daj mi troszkę czasu - postaram się wyjaśnić

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 15:47 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    bez pośpiechu , na spokojnie :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 16:54 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    już chyba mam - zdaje się że masz pamięć eeprom 24c04A firmy Atmel i ja taką znalazłem w jednym zestawie i mam TEN SAM koci efekt. A z innymi pamięciami np 24c04N (ale ta też Atmel) albo 24c04W firmy ST - wszystko działa zgodnie z tym co w Bluebooku.

    Więc coś mi śmierdzi że te 24C04A mają albo jakiś inny rodzaj transmisji i muszę poczytać PDF'a żeby to sprawdzić i ew napisać obsługę i ci podać albo jak napiszesz do mnie maila na biuro@atnel.pl to się umówimy i prześlemy ci 24c04N żeby na szybko rozwiązać twój problem

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 17:06 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    Zgadza sie jest to 24C04A , dobrze że sie udało zlokalizować przyczynę :D

    Obrazek

    Również już się biorę za czytanie noty pdf



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 18:16 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    dziwne bo jednak wygląda IDENTYCZNIE ta nota tak mi się wstępnie wydaje - no ale jeszcze szperam ... Qurka wodna

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 18:45 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    jeszcze dodam że EEPROM działa jak go zaadresuje w kodzie na adres 0xA2 czyli od układu PCF8583 , ale układ ten musi być włożony w socket( no i oczywyście RTC nie działa) , gdy go wyciągnę to EEPROM też przestaje działać , troszkę dziwna zależność , wręcz śmieszna :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 18:50 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    nie nie ;) jak go adresujesz At to eeproma nie widzisz tylko RAM w RTC ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 18:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 mar 2014
    Posty: 150
    Lokalizacja: Staszów
    Pomógł: 12

    U mnie działają te adresy:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Sprawdziłem przed chwilą raz jeszcze i działa.

    _________________
    Ad augusta per angusta



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 19:07 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    mirekk36 napisał(a):
    nie nie ;) jak go adresujesz At to eeproma nie widzisz tylko RAM w RTC ;)


    no zgadza sie nie pomyslałem :D

    a odnośnie tych adresów to wpisałem i dalej nic tylko prostokąty z LCD zniknęły , dlatego pewnie że to zły adres

    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 19:09 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    chi.cygni napisał(a):
    Sprawdziłem przed chwilą raz jeszcze i działa.


    A czytałeś wyżej o modelu scalaka ? Sprawdziłeś jaki masz ? czy 24c04A ? jak nie to sprawdź

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 19:21 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 02 mar 2014
    Posty: 150
    Lokalizacja: Staszów
    Pomógł: 12

    mirekk36 napisał(a):
    A czytałeś wyżej o modelu scalaka ? Sprawdziłeś jaki masz ? czy 24c04A ? jak nie to sprawdź

    W jednym zestawie ATB mam 24C04, a w drugim 24C04BN.

    _________________
    Ad augusta per angusta



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 19:57 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    chi.cygni napisał(a):
    W jednym zestawie ATB mam 24C04, a w drugim 24C04BN.

    No właśnie czyli nie masz tej wersji 24c04A i dlatego działa i będzie działać w każdej konfiguracji - nie wiem dlaczego producent do niektórych scalaków włożył nam te 24c04A ... tyle że one też powinny działać ale coś mi śmierdzi, że chyba są wadliwe ... jeszcze w poniedziałek sprawdzę na zewnętrznym programatorze pamięci EEPROM żeby się upewnić

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 20:46 
    Offline
    Użytkownik

    Dołączył(a): 09 lut 2017
    Posty: 75
    Lokalizacja: 51°03′22″N 15°45′48″E
    Pomógł: 18

    Mam też 24C04A i miałem ten sam problem. Układ nie jest wadliwy, ale rzeczywiście ma inny rodzaj transmisji, podobny jak dla układów o większej pojemności. Co ciekawe nie udało mi się tego znaleźć w żadnej nocie, nawet innego producenta. Ale znalazłem ten temat: https://forum.elportal.pl/viewtopic.php?f=83&t=2709, który wszystko wyjaśnił. Na podstawie tego opisu napisałem swoje funkcje i wszystko działa jak należy. Przy okazji wyszło mi, że pamięć ma organizację 32 strony x 32 bity z czego z kolei wynika, że ma pojemność 1024 bajty czyli dwa razy więcej niż powinna mieć (8kb zamiast 4kb). Robiłem testy zapisując całą pamięć różnymi wartościami i rzeczywiście udało mi się taką pojemność zapisać i odczytać. Sam już nic z tego nie rozumiem. Może uda Wam się to też potwierdzić.

    Moje funkcje:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 20:50 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    Dobre - muszę przetestować w poniedziałek ... ale jednak to odstępstwo od normy na ATB no i wkurzające właśnie, że noty dla AT24C04A nie mówią o tych szczegółach. Fajnie że udało ci się do tego dojść.

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 kwi 2020, o 22:35 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2595
    Pomógł: 128

    W PDFie w Memory Organization jest napisane:
    "AT24C02A, 2K SERIAL EEPROM: The 2K is internally organized with 32 pages of 8bytes each. Random word addressing requires an 8-bit data word address.
    AT24C04A, 4K SERIAL EEPROM: The 4K is internally organized with 32 pages of 16bytes each. Random word addressing requires a 9-bit data word address."



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2020, o 12:07 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    wojtas14136 napisał(a):
    a odnośnie tych adresów to wpisałem i dalej nic tylko prostokąty z LCD zniknęły , dlatego pewnie że to zły adres


    ok to dzięki koledze Adam12 problem rozwiązany o tyle, że możesz sobie dodać do swojego kodu takie dwie funkcje, zastąpić w zasadzie te z Bluebooka


    zamiast tych:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    daj właśnie takie:

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    I pamięć AT24c04A będzie śmigała w zestawie ATB, nie jest wadliwa. Jeszcze raz podziękowania dla kolegi Adam12, że wpadł na trop i akurat tutaj zajrzał. Zatem kliknij Adamowi przycisk "POMÓGŁ" - bo naprawdę pomógł ! ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2020, o 13:46 
    Offline
    Nowy

    Dołączył(a): 28 mar 2020
    Posty: 19
    Pomógł: 0

    wszytko śmiga jeszcze wczoraj wieczorem próbowałem , wszystko jest tak jak powinno być także dziękuje za pomoc wszystkim, życzę miłego dnia :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2020, o 15:59 
    Offline
    Użytkownik

    Dołączył(a): 09 lut 2017
    Posty: 75
    Lokalizacja: 51°03′22″N 15°45′48″E
    Pomógł: 18

    Ale tu nie chodzi o adres pamięci. Chodzi o to, że ta akurat AT24C04A ma całkiem odmienny sposób adresowania poszczególnych komórek do odczytu i zapisu. Najpierw trzeba podać stronę, a następnie bajt na tej stronie. Taki sposób nie jest opisany w żadnej nocie katalogowej dotyczącej tej pamięci. W przypadku zwykłej pamięci 24C04 podaje się po prostu adres kolejnego bajtu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 kwi 2020, o 16:43 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    Adam12 napisał(a):
    Ale tu nie chodzi o adres pamięci. Chodzi o to, że ta akurat AT24C04A ma całkiem odmienny sposób adresowania poszczególnych komórek do odczytu i zapisu. Najpierw trzeba podać stronę, a następnie bajt na tej stronie. Taki sposób nie jest opisany w żadnej nocie katalogowej dotyczącej tej pamięci. W przypadku zwykłej pamięci 24C04 podaje się po prostu adres kolejnego bajtu.

    No właśnie jakby nie wszyscy to dostrzegają ... a wkurzające jest jakby trochę że kostka ma symbol niestety mylący nieco bo jak standardowa 24c04 wszystkich innych producentów ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 lis 2020, o 22:50 
    Offline
    Użytkownik

    Dołączył(a): 08 lut 2014
    Posty: 25
    Pomógł: 0

    Witam,

    Dawno mnie na forum nie było, akurat miałem taki sam problem jak koledzy wyżej, dlatego postanowiłem napisać o swoich spostrzeżeniach.
    Zacząłem się bawić i testować tą samą dziwną pamięć eeprom (ATMEL718 24C04A), i u mnie wygląda to tak jak by miała ona 32 strony, a na każdej stronie 255 bajtów. Napisałem krótki program według zaleceń (j.w) wydaje się wręcz nie możliwe, żeby było tak dużo pamięci, proszę wyprowadźcie mnie z błędnego myślenia jeśli się mylę, a jak macie chwilkę czasu, to przetestujcie, oczywiście sprawa dotyczy tylko tej dziwnej pamięci ATMEL718 24C04A.
    Dziwię się również dlaczego w zestawie noga "WP" wisi w powietrzu? czy nie powinna być ściągnięta do GND, Układ oczywiście działa.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2020, o 06:29 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    Przecież masz w tym wątku pełny poprawny kod źródłowy do obsługi tej pamięci

    post226636.html#p226636

    więc nie wiem za bardzo w czym problem?

    a jeśli chodzi o pin WP to zaglądaj do not PDF, wtedy zawsze lepiej zrozumiesz o co chodzi i dlaczego może wisieć spokojnie w powietrzu, oto info wprost z noty pdf

    Obrazek

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2020, o 09:51 
    Offline
    Użytkownik

    Dołączył(a): 08 lut 2014
    Posty: 25
    Pomógł: 0

    Wszystko działa jak należy, jako tylko Ciekawostkę, chciałem dociec jaką pojemność ma ten typ pamięci,
    Adam12 napisał(a):
    Przy okazji wyszło mi, że pamięć ma organizację 32 strony x 32 bity z czego z kolei wynika, że ma pojemność 1024

    A mi wychodzi że ma 32 strony x 256 bitów.( co wydaje się nie możliwe )
    A skoro w żadnej nocie, nie ma poprawnej informacji o zapisie i odczycie tego eepromu, to również info o pojemności może być błędne.

    To po prostu ciekawe, jak ktoś nie ma czasu, lub po prostu ochoty, to luz, obawiałem się tylko że błędnie testuję tego eeproma.

    Więc żadnego problemu Mirku niema:)
    Pozdrawiam.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2020, o 10:30 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27373
    Lokalizacja: Szczecin
    Pomógł: 1043

    Cytuj:
    A mi wychodzi że ma 32 strony x 256 bitów.( co wydaje się nie możliwe )

    No ale dobrze ci się wydaje, że to niemożliwe - bo nie jest możliwe ;) pamięci jest tyle ile stwórca czyli fabryka dała ...

    Coś tam musiałeś pomyliś jednak w kodzie

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2020, o 12:22 
    Offline
    Użytkownik

    Dołączył(a): 08 lut 2014
    Posty: 25
    Pomógł: 0

    Hmm,
    Zapisuję zmienną o wartości 10 na stronę 1 do 250 bajtu
    Sprawdzam każde 16 bajtów na 32 stronach i nie znajduję wcześniej zapisanej zmiennej z wartością 10
    sprawdzam więc 32 bajty na 32 stronach i dalej nic
    sprawdzam więc 256 bajtów na 32 stronach i znajduję na 1 stronie w 250 bajcie wcześniej zapisaną zmienną o wartości 10.?

    o co chodzi?

    funkcje z których korzystam.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    A tu kod do testowania.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Oczywiście nie ma co głowy zawracać, bo pamięć działa w zakresie deklarowanym przez producenta, ale jak by ktoś był w posiadaniu akurat tej pamięci Atmel718 24C04A i przy ciepłej herbatce się nudził :) to może wyprowadzi mnie na prostą. :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 lis 2020, o 14:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1033
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Jak na moje oko to namieszałeś. W tych pamięciach nie ma czegoś takiego jak numer strony, tak jak to próbujesz wysyłać w funkcji, no chyba że coś mi umknęło bo w funkcjach masz raz I2C_cośtam() a raz TWI_cośtam(), tak jakbyś poskładał tę funkcję z dwóch różnych źródeł...
    Według noty strona to poprostu wielkość bufora ram w tej pamięci,(nota microchipa do kości 24C04A http://ww1.microchip.com/downloads/en/DeviceDoc/11183F.pdf):
    Obrazek

    steter napisał(a):
    A skoro w żadnej nocie, nie ma poprawnej informacji o zapisie i odczycie tego eepromu, to również info o pojemności może być błędne.
    Jak nie ma jak jest:
    Obrazek
    Masz nawet rozrysowane przebiegi całego zapisu stronicowego.
    Aby zapisać stronę danych wysyłasz start, następnie bajt kontrolny składający się z 4 bitów identyfikujących typ, 2 bitów adresowych (zgodnie z podłączanymi nogami adresowymi pamięci), 1 bitu bloku oraz zerowy bit zapisu, następnie bajt adresujący - czyli od jakiego miejsca ma być zapisywana strona, następnie osiem bajtów danych zakończone stopem. Po tej sekwencji trzeba odczekać czas podany w nocie typowo 0.4*N[ms] gdzie N to liczba wysłanych bajtów, bo można wysłać mniej niż 8, ale nie więcej. Nota podaje jeszcze max. wartość krytyczną czasu jako 1*N[ms], jest to czas potrzebny na przepisanie danych z pamięci ram do eeprom, w tym czasie pamięć nie odpowie na próby komunikacji.
    Wysłanie więcej niż 8 bajtów spowoduje nadpisanie pierwszych wysłanych danych czyli jeśli wyślesz 9 bajtów danych ostatni dziewiąty zapisze się w pierwszym bajcie bufora i zostanie zapisany do eeprom jako pierwszy, czyli niejako pierwszy bajt danych zostanie utracony.
    Jest jeszcze jedna rzecz, mianowicie nota podaje że pamięć jest podzielona na 2 bloki (każdy po 256 bajtów), nie jest możliwy zapis inkrementacyjny na granicy bloku, tzn jeśli chcesz zapisać 8 bajtową stronę to nie możesz jako adres podać np 250 bo 250+8=258 czyli wyjdziesz poza blok a to spowoduje że dwa ostatnie bajty zostaną zapisane na adresie 1 i 2.

    Powyższe wywnioskowane z noty microchipa do kostki 24C04A, nie testowałem, bo nie posiadam akurat pamięci 24C04A, ale z tego co kiedyś się bawiłem kostką innego producenta to tamta pamięć miała jakby zależność typu wielkość strony = wielkość bloku, czyli przy zapisie stronicowym trzeba było dokładnie wyliczyć początek strony bo inaczej podczas zapisu ta została "zrolowana".
    Wygląda że pamięci 04A od microchipa produkowane są bez konwencji podziału na typowe strony jak wcześniej to miało miejsce, co zresztą piszą na końcu noty:
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 40 ]  Przejdź na stronę 1, 2  Następna strona

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 6 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO