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? 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 6 cze 2025, o 14:16


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 6 cze 2013, o 10:52 

    Pomógł: 0

    Witam, potrzebował bym porady w kwestii standardów (bo jeżeli pisać już bibliotekę to niech będzie ona w jakimś standardzie ;))

    Mam dylemat z nazewnictwem sygnałów sterujących w rejestrze konfiguracyjnym
    np.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Czyli potem ustawiając bit w rejestrze, chcąc by RS = 1 to wpisuje RS i tyle, a jeżeli chce by bit był zero to _RS, czy to dobra droga?
    Jak sobie radzicie z nazewnictwem wewnętrznych bitów rejestrów, czy może zamiast tego lepiej zastosować motyw z tyldą to jest
    dla RS=1 piszemy RS, a dla RS=0 dajemy ~RS ??? który sposób jest bardziej czytelny?



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 cze 2013, o 11:09 
    Offline
    Moderator
    Avatar użytkownika

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

    mi wydaje się to "troszeczkę" zakręcony sposób :(

    myślę tak w ogóle że tu żadnych standardów pisania bibliotek nie ma tak w ogóle, co najwyżej można podglądać jak inni sobie właśnie radzą i wybrać swoje sposoby.

    Ja bym nie robił absolutnie takich rozgraniczeń i definicji że jak bit = 0 to znaczy COŚ TAM a jak =1 to znaczy XCOŚ TAM

    owszem definicje bitów jak najbardziej - ale samych bitów tzn ich pozycji w rejestrze np:

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


    i tak dalej bo co ci dadzą te _PWD z jakimiś tyldami, za chwilę będzie trzeba cyrkowe sztuczki w kodzie wymyślać. Kolejnym etapem jak opiszesz sobie rejestry to powinno być stworzenie makr ustawiających ew dane opcje jeśli są oczywiście często używane i to używane pojedynczo bo inaczej nie ma sensu. Np:

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


    ew tworzymy jakieś makra grupowe - do ustawiania grup wybranych bitów po to żeby coś tam uzyskać (tak mi się wydaje i ja tak robię ale nie mówię że to akurat jedyny najlepszy pomysł na świecie

    _________________
    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: 6 cze 2013, o 11:22 

    Pomógł: 0

    Widzisz o tym nie pomyślałem ;). Dzięki.
    Przecież mogę definami załatwić konfigurację :),



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 cze 2013, o 11:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 maja 2013
    Posty: 568
    Zbananowany użytkownik

    Pomógł: 31

    Poczytaj sobie:
    http://pl.wikipedia.org/wiki/CamelCase
    http://pl.wikipedia.org/wiki/Notacja_węgierska
    http://pl.wikipedia.org/wiki/PascalCase

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


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

    _________________
    Und schreien

    Spring
    Erlöse mich
    Spring
    ...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 cze 2013, o 14:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 29 lis 2011
    Posty: 582
    Lokalizacja: okolice Wrocławia :)
    Pomógł: 24

    Zawsze można jeszcze według standardów NASA :)

    http://mechatronics.me.wisc.edu/labreso ... 94-003.pdf

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 cze 2013, o 17:03 
    Offline
    Użytkownik

    Dołączył(a): 06 paź 2011
    Posty: 92
    Lokalizacja: Kraków
    Pomógł: 2

    A ja jestem w trakcie tworzenia biblioteki do AD7793 i mam to tak rozwiązane.
    Oczywiście jest to tylko kawałek ad7793.h
    W sumie jest to żywcem przepisana tabelka konfiguracji z pdf-a :lol:
    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 później sobie wywołuje jakąś konfigurację np:
    Składnia: [ Pobierz ] [ Ukryj ]
    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: 6 cze 2013, o 18:05 

    Pomógł: 0

    krzyychu to podobnie jak u mnie, tylko że CS5532 ma rejestry 32bitowe i walczę z tym przy mojej mizernej wiedzy już dłuższy czas ;)



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 cze 2013, o 19:30 
    Offline
    Moderator
    Avatar użytkownika

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

    rezasurmar napisał(a):
    tylko że CS5532 ma rejestry 32bitowe


    Ja bym ci też radził porozbijać je tak jak pisał PROTON tylko chyba w innym wątku - o tych przesunięciach ;)

    w tablicę

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


    a pomyśl jak byś chciał to przecież można się do niej odwołać jak do najzwyklejszej zmiennej 32-bitowej dzięki wskaźnikom ;)

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


    tak więc zobacz jak łatwo możesz mieć dostęp na wiele różnych sposobów ale bitowo obrabiać sobie można pojedyncze bajty w tablicy bez żadnych karkołomnych przesunięć ;)

    _________________
    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: 6 cze 2013, o 19:46 

    Pomógł: 0

    No i tak też zrobię, wcześniej nie umiałem pojąć jak zrobić te przesunięcia, bo z jednej strony chcę by kod był prosty i czytelny, a z drugiej, mam jeszcze za mało wiedzy.
    Po prostu nie wiem, czy np. za jakiś czas nie okaże się iż nie będę podłączał tego CSa do CortexaM0+ a wtedy łatwiej będzie mi przerobić kod jak będę miał jedną 32bitową daną, jako odwzorowanie rzeczywistego rejestru urządzenia niż żaglowanie 8bitowymi porcjami i zastanawianie się który to bit ma być gdzie....



    Góra
      
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO