-
X-Received: by 10.31.69.204 with SMTP id s195mr350711vka.12.1508485386172; Fri, 20
Oct 2017 00:43:06 -0700 (PDT)
X-Received: by 10.31.69.204 with SMTP id s195mr350711vka.12.1508485386172; Fri, 20
Oct 2017 00:43:06 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!peer02.am4!peer.am4.highwinds-media.com!peer02.iad!feed-me.highwinds-medi
a.com!news.highwinds-media.com!k31no411361qta.1!news-out.google.com!v14ni792qtc
.0!nntp.google.com!z50no411599qtj.0!postnews.google.com!glegroupsg2000goo.googl
egroups.com!not-for-mail
Newsgroups: pl.misc.elektronika
Date: Fri, 20 Oct 2017 00:43:05 -0700 (PDT)
In-Reply-To: <1xlu667d0kdpl$.12zxaizy0gr8j.dlg@40tude.net>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=62.218.30.210;
posting-account=LtRNCAoAAAACVwjGJC66ygSl50zdeDtv
NNTP-Posting-Host: 62.218.30.210
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> <osav0g$hoj$1@node2.news.atman.pl>
<1xlu667d0kdpl$.12zxaizy0gr8j.dlg@40tude.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: Definiowane portów/flag w C
From: Marcin <m...@o...pl>
Injection-Date: Fri, 20 Oct 2017 07:43:06 +0000
Content-Type: text/plain; charset="UTF-8"
X-Received-Body-CRC: 706440485
X-Received-Bytes: 2241
Xref: news-archive.icm.edu.pl pl.misc.elektronika:725115
[ ukryj nagłówki ]
> A na bezczelnego ?
>
> #define F_LED GPIO,7
>
> ... setbit(F_LED) ...
>
> https://gcc.gnu.org/onlinedocs/cpp/Argument-Prescan.
html
>
Do takiego zadzialania potrzeba "podwojnego makra":
#define _test_set_bit(port,pin) do{ (port)->PDOR |=(1<<(pin)); }while(0)
#define test_set_bit(x) _test_set_bit(x)
#define LEG_G_7 GPIOB,7
i wtedy
test_set_bit(LEG_G_7);
preprocesor rozwinie poprawnie:
do{ (((GPIO_Type *)(0x400FF040u)))->PDOR |=(1<<(7)); }while(0);
Przy pojedynczym makro (jak pierwsze) arm-none-eabi-gcc zglasza blad ze makro ma miec
2 parametry a przekazany jest tylko 1.
$ arm-none-eabi-gcc -E -mcpu=cortex-m0plus makro.c -o makro2.lst
makro.c:14:23: error: macro "test_set_bit" requires 2 arguments, but only 1 given
test_set_bit(LEG_G_7);
Marcin
Następne wpisy z tego wątku
- 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
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
Najnowsze wątki
- 2025-02-17 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-17 Chrzanów => Programista NodeJS <=
- 2025-02-17 Warszawa => Node.js / Fullstack Developer <=
- 2025-02-17 Białystok => System Architect (Java background) <=
- 2025-02-17 Białystok => Solution Architect (Java background) <=
- 2025-02-17 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-17 Gdańsk => PHP Developer <=
- 2025-02-17 Warszawa => Senior ASP.NET Developer <=
- 2025-02-17 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-17 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-02-17 Odśnieżanie samochodu
- 2025-02-17 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-17 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-17 Pompiarze...
- 2025-02-16 PV teraz