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 18 maja 2025, o 13:07


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 7 mar 2024, o 19:52 
    Offline
    Nowy

    Dołączył(a): 07 mar 2024
    Posty: 2
    Pomógł: 0

    Skoro , pamięć RAM w procesorach AVR to rodzaj pamięci ulotnej to, czy rejestry i rozkazy w tych obszarach też znikają po wyłączeniu zasilania tak jak wszystkie dane w pamięci RAM ? Zobrazujcie początkującemu jak to wygląda .

    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 mar 2024, o 20:21 
    Offline
    Moderator
    Avatar użytkownika

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

    Dawcio12 napisał(a):
    to, czy rejestry i rozkazy w tych obszarach też znikają po wyłączeniu zasilania tak jak wszystkie dane w pamięci RAM ?

    Poszczególne komórki tej pamięci to rejestry więc ich zawartość też jest kasowana po resecie ale nie ZNIKA ;) Panie skąd taki pomysł - a pamięć ZNIKA? Nie jest tylko kasowana albo pozostają w niej śmieci po restarcie. No ale procek napewno po każdym restarcie przywraca domyślne wartości rejestrów w tym obszarze pamięci zgodnie z tym co masz napisane w PDF przy każdym rejestrze

    _________________
    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: 7 mar 2024, o 21:37 
    Offline
    Nowy

    Dołączył(a): 07 mar 2024
    Posty: 2
    Pomógł: 0

    Więc to procek ładuje po każdym załączeniu zasilania rejestry do tych obszarów pamięci ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 mar 2024, o 00:25 
    Offline
    Moderator
    Avatar użytkownika

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

    Dawcio12 napisał(a):
    Więc to procek ładuje po każdym załączeniu zasilania rejestry do tych obszarów pamięci ?

    Nie ładuje żadnych rejestrów - mieszasz pojęcia.

    Każda komórka tego obszaru RAM jest REJESTREM rozumiesz? A procek po restarcie tylko ustawia odpowiednie bity w tych rejestrach (czyli komórkach pamięci RAM)

    _________________
    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: 8 mar 2024, o 14:55 
    Offline
    Moderator
    Avatar użytkownika

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

    ord napisał(a):
    W "klasycznych" AVRach przestrzenie pamięci dla programu i danych są rozłączne - nie ma możliwości umieszczania rozkaów w RAM. Nie wiem jak jest w nowszych prockach z jednolitą przestrzenią adresową.

    a co to ma wspólnego z pytaniem autora ? Tylko zaciemnia obraz taka odpowiedź

    ord napisał(a):
    Rejestry umieszczone w dolnym obszarze adresowym nie są pamięcią RAM,

    BZDURA do kwadratu

    ord napisał(a):
    są zrealizowane sprzętowo jako odpowiednio połączona grupa bramek i przerzutników.

    jeszcze większa bzdura

    ord napisał(a):
    Na przykład rejstr Program Counter (akurat ten jest niedostępny do odczytu)

    To w ogóle nie jest rejestr dostępny przez rejestry zlokalizowane w obszarze pamięci RAM - działa on sobie POZA tą pamięcią - ale z kolei jego wartość jest dostępna za pomocą jednego z rejestrów indeksowanych właśnie w obszarze RAM - więc ani nie ma to nic wspólnego z bezpośrednimi rejestrami w RAM ani nie ma nic wspólnego z tym, że nie da się odczytać program countera

    ord napisał(a):
    Rejestry danych SPI czy UART to z kolei coś jak 74595. Itd, itp.

    Jezu - no weź że kolego nie pisz takich wymysłów - bo są to rejestry właśnie z bezpośrednim dostępem przez obszar RAM. Wprawdzie są one dostępne jako rejestry IO i tak muszą być specyficznie obsługiwane w ASM np w ATmega8 ale już w ATmega328 można mieć do części rejestrów dostęp z poziomu programu jak do zwykłego obszaru pamięci RAM

    więc nie są to żadne tam jakieś jak "coś jak 74595" tylko NAJZWYKLEJSZE komórki RAM oczywiście w specjalnym obszarze RAM wydzielonym do tego celu

    _________________
    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: 13 mar 2024, o 08:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 sty 2015
    Posty: 190
    Pomógł: 11

    ord napisał(a):
    Rejestry umieszczone w dolnym obszarze adresowym nie są pamięcią RAM, są zrealizowane sprzętowo jako odpowiednio połączona grupa bramek i przerzutników.

    Wedługo mojej wiedzy nie jest to prawda. Rejestry to szczególny rodzaj (obszar) pamięci RAM w MCU. Obszary tej pamięci, tak jak @mirekk36 wspomniał, są inicjalizowane podczas startu mikrokontrolera wartościami domyślnymi. Skąd wiadomo, że to szczególny obszar pamięci RAM? Kiedyś w języku C można było użyć przedrostka register przed określeniem typu zmiennej.

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


    Kompilator mógł (ale nie musiał) umieścić taką zmienną w tym właśnie obszarze dedykowanej pamięci (rejestry). Dzięki temu mogliśmy uzyskać szybki dostęp do zmiennej. Nie można uzyskać adresu takiej zmiennej! Rejestr nie jest adresem w pamięci. Stąd ten "szczególny rodzaj pamięci".



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 mar 2024, o 11:16 
    Offline
    Moderator
    Avatar użytkownika

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

    ord napisał(a):
    W zasadzie napisałem to samo tylko przed RAM zabrakło literki S. No i położyłem nacisk na czysto sprzętową inicjację rejestrów (o czym nota katalogowa dla niektórych rejestrów mówi wprost).


    W zasadzie to namieszałeś najbardziej jak tylko się da

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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