-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: "Grzegorz Niemirowski" <g...@p...onet.pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Definiowane portów/flag w C
Date: Thu, 19 Oct 2017 21:38:58 +0200
Organization: ATMAN - ATM S.A.
Lines: 56
Message-ID: <osav0g$hoj$1@node2.news.atman.pl>
References: <osa0qm$mhc$1@node1.news.atman.pl> <osa3ci$tb1$4$gof@news.chmurka.net>
<osa55j$r0r$1@node1.news.atman.pl> <f...@m...uni-berlin.de>
<osatlp$gjd$1@node2.news.atman.pl>
NNTP-Posting-Host: 31-178-110-204.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1508441936 18195 31.178.110.204 (19 Oct 2017 19:38:56
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Thu, 19 Oct 2017 19:38:56 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: OE PowerTool 4.5
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-WWW: http://www.grzegorz.net/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:725103
[ ukryj 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
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
- Wtopa LED
- Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- 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"
Najnowsze wątki
- 2026-01-10 Przeprosiny
- 2026-01-10 Kominiarze
- 2026-01-10 Zagadka radiowa
- 2026-01-10 Prostownik
- 2026-01-09 EKOFASZYŚCI DO NAUKI Chiny odpaliły reaktor na tor. Zachód przespał ten moment? - AstroSzort
- 2026-01-09 Sebastian M
- 2026-01-09 weto nowelizacji ustawy o ś.u.d.e. (wz. DSA)
- 2026-01-09 Warszawa => Dynamics 365 Commerce/POS Developer <=
- 2026-01-09 Ładowanie w 13 minut
- 2026-01-08 Umiejętność tankowania na egzaminie z prawa jazdy
- 2026-01-08 Nowy akumulator Donut Lab
- 2026-01-08 Komenda policji nie ma nic wspólnego ze sprawą zgwałcenia policjantki
- 2026-01-08 Pilot do zamka/bramy
- 2026-01-08 Ślad węglowy
- 2026-01-08 Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia




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