-
Data: 2017-10-20 09:43:05
Temat: Re: Definiowane portów/flag w C
Od: Marcin <m...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
- Programator czasowy TUYA.
Najnowsze wątki
- 2024-05-16 Samo rozładowywanie baterii trakcyjnej w elektryku.
- 2024-05-16 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-05-16 Warszawa => Interactive/Experience Designer <=
- 2024-05-16 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-16 Zabrze => Junior HelpDesk <=
- 2024-05-16 Warszawa => Technical Lead ( (Java Background)) <=
- 2024-05-16 Szczecin => Senior DevOps Engineer <=
- 2024-05-16 Szczecin => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-16 Śledztwo bodnatury "jak wyrok"? ["likwidator" Polskiego Radia donosi]
- 2024-05-16 Citi... zmiany warunków umowy o kartę kredytową Citibank?
- 2024-05-16 prawo jazdy z Nepalu
- 2024-05-15 Mini Netykieta polskich grup i list dyskusyjnych
- 2024-05-15 Warszawa => Key Account Manager <=
- 2024-05-15 Millenium czyli DEBILE bankowości
- 2024-05-15 Warszawa => Frontend Developer - React <=