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



Teraz jest 6 mar 2025, o 14:56


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: 27361
Lokalizacja: Szczecin
Pomógł: 1042

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 ]
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: 27361
Lokalizacja: Szczecin
Pomógł: 1042

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