-
Data: 2017-10-19 21:38:58
Temat: Re: Definiowane portów/flag w C
Od: "Grzegorz Niemirowski" <g...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]sword <n...@p...onet.pl> napisał(a):
> Hmm, mogę dać inline ale wydaje mi się, że jestem w tym samym
> punkcie co z makrami.
> static inline void setbit (u8 port, u8 pin)
> {
> port |= 1<<pin;
> }
> No i co dalej? Chciałbym ją tak samo wywołać, np.:
> setbit(F_LED)
Musisz stworzyć coś, co oprócz bitu będzie nisło też informację o porcie,
np.
#include <stdio.h>
#define PINA1 0x01
#define PINA2 0x02
#define PINB2 0x02
#define PINB3 0x03
#define F_PINA1 (0x0000 | PINA1)
#define F_PINA2 (0x0000 | PINA2)
#define F_PINB2 (0x0100 | PINB2)
#define F_PINB3 (0x0100 | PINB3)
int porta = 0, portb = 0;
void setpin(unsigned int fpin);
int main() {
setpin(F_PINA1);
setpin(F_PINA2);
setpin(F_PINB2);
setpin(F_PINB3);
printf("%x %x\n", porta, portb);
return 0;
}
void setpin(unsigned int fpin){
int port = fpin >> 8;
int pin = 0x00ff & fpin;
switch(port) {
case 0x00:
porta |= 1 << pin;
break;
case 0x01:
portb |= 1 << pin;
break;
}
}
--
Grzegorz Niemirowski
http://www.grzegorz.net/
Następne wpisy z tego wątku
- 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
- 20.10.17 14:21 sword
- 20.10.17 15:17 Adam Wysocki
Najnowsze wątki z tej grupy
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
Najnowsze wątki
- 2025-07-01 Re: W USA już miliony mieszkają w swoich samochodach
- 2025-07-01 Wakacyjna promocja dla użytkowników samochodów ...
- 2025-07-01 Re: W USA już miliony mieszkają w swoich samochodach
- 2025-06-30 Re: W USA już miliony mieszkają w swoich samochodach
- 2025-07-01 Warszawa => Senior Account Manager <=
- 2025-07-01 Polska => Senior Key Account Manager <=
- 2025-07-01 Re: Prawo do komunii (KRK) [UK/Surrey/Dorking]
- 2025-07-01 Re: Czy Bodnar to prawny Makiawel? [Prawo "w likwidacji"]
- 2025-06-30 Arno van Kessel, [...] holenderski prawnik i krytyk polityki covidowej, został 11 czerwca 2025 roku zatrzymany przez oddział specjalny policji - bez postawionych zarzutów, bez przedstawienia dowodów i bez udziału opinii publicznej.
- 2025-06-30 Re: Prawo do komunii (KRK) [UK/Surrey/Dorking]
- 2025-06-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-06-30 Środa Wielkopolska => Konsultant wewnętrzny SAP FI/CO <=
- 2025-06-30 Białystok => Programista Mainframe (z/OS, Assembler) <=
- 2025-06-30 Warszawa => International Freight Forwarder <=
- 2025-06-30 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo