-
Data: 2017-10-19 13:01:49
Temat: Definiowane portów/flag w C
Od: sword <n...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
Cześć,
Może nie do końca ta grupa ale wielu z Was pisze w C i może mi podpowie :)
Korzystam z takich makr, które pracują na bitach, np.:
#define setbit(VAR,Place) ( (VAR) |= (uint8_t)((uint8_t)1<<(uint8_t)(Place)) )
w programie mam zdefiniowane np.:
#define PORT_LED GPIOA
#define LED_R 0
uint8_t main_flags1, main_flags2, main_flags3;
#define FLAGA1 0
#define FLAGA2 0
i później takie wykorzystanie np.:
setbit(PORT_LED, LED_R);
setbit(main_flags, FLAGA1);
setbit(main_flags2, FLAGA2);
Przy portach to jeszcze nie jest problemu ale przy flagach trzeba
ręcznie panować nad tym w której zmiennej leży jaka flaga. Już
kilka razy szukałem przez to błędów.
Jak zrobić, żeby odwołanie do flagi było jednoznaczne, chodziło by mi
o coś takiego (co nie działa przez ten przecinek):
#define F_LED_R PORT_LED,LED_R
setbit(F_LED_R);
Wtedy w programie nie muszę się już zastanawiać gdzie leży jaki bit.
Zawsze tak pisałem w asm, a teraz mi tego brakuje :)
Pozdrawiam,
--
sword
Następne wpisy z tego wątku
- 19.10.17 13:47 Adam Wysocki
- 19.10.17 14:15 sword
- 19.10.17 14:30 Waldemar
- 19.10.17 20:17 Sebastian Biały
- 19.10.17 21:14 sword
- 19.10.17 21:15 sword
- 19.10.17 21:19 Sebastian Biały
- 19.10.17 21:38 Grzegorz Niemirowski
- 19.10.17 22:17 sword
- 19.10.17 22:28 Sebastian Biały
- 19.10.17 22:48 Jakub Rakus
- 20.10.17 02:04 J.F.
- 20.10.17 09:43 Marcin
- 20.10.17 11:53 Janusz
- 20.10.17 13:57 sword
Najnowsze wątki z tej grupy
- Microsoft, C/C++ na Rust - news
- Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- zasilacz
- Zegary DCF
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
Najnowsze wątki
- 2026-01-02 Microsoft, C/C++ na Rust - news
- 2026-01-01 szyby macie całe?
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Najbogatsi ludzie na świecie są jeszcze bogatsi. Bezprecedensowa skala zysków
- 2026-01-01 Wszystkiego najlepszego
- 2025-12-31 Czy potrafisz wskazać różnice? [TVN v. RMF]
- 2025-12-31 I kolejny jebnięty
- 2025-12-31 Myślenice => Specjalista ds. kontrolingu <=
- 2025-12-31 Ostróda szlachetnie walczy
- 2025-12-31 Pierwsza mapa kosmosu w 102 długościach fal podczerwieni! To początek nowej ery w astronomii
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- 2025-12-31 Pieniadze-cuchna-oddechem-nawalonego-tatusia
- 2025-12-31 Iran na skraju gospodarczego upadku. Na ulicach Teheranu (znów) wrze. To może być cios dla reżimu
- 2025-12-30 zasilacz




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]