AVR-GCC a expanze makro
Marek Pavlu
pavlu@hwg.cz
Středa Prosinec 7 15:05:21 CET 2005
Zdravim,
No nevim, ale me se nejak tyhle vymozenosti gcc proste prici.
Ono to nejak nemá s ANSI C jiz nic spolecneho a pak s tim pri pripadnem
prechodu na jiny kompiler a nebo v uplne jinem zdrojaku, který napisete
prave s temito vymozenostmi, budete mit potize:(.
Faktem je, ze v avr-gcc pisu a obcas tento nestandardni postp i pouziji, ale
vzdy jen jako debug rezim kodu, coz po odladeni je vetsinou jiz
nepotrebne...
S pozdravem,
Marek Pavlu
// -----Original Message-----
// From: hw-list-bounces@list.hw.cz [mailto:hw-list-bounces@list.hw.cz] On
// Behalf Of Hynek Sladky
// Sent: Wednesday, December 07, 2005 8:50 AM
// To: HW-news
// Subject: Re: AVR-GCC a expanze makro
//
// Neslo. Na zacatku programu mam totiz neco takoveho:
//
// #define LED PORTA, 0
// #define BUZZER PORTA, 1
// #define RELE PORTA, 2
//
// Uz jsem nasel tri moznosti, jak by to melo fungovat, lec pro me
// pouzitelna je jen jedna (jedna se v avr-gcc preklada spatne, druha je
// slozitejsi na nadefinovani):
//
// #define pinset__(port,bit) port|=(1<<bit)
// #define pinset(...) pinset__(__VA_ARGS__)
//
// V kodu pak muzu psat:
//
// pinset (LED);
// pinset (BUZZER);
//
//
// Hynek Sladky
//
//
// Zdenek Janis wrote:
// > a takhle by to neslo?
// >
// > #define mujport PORTA
// > #define mujpin 0
// >
// > #define pinset(bit) mujport |= (1<<bit)
// >
// > void fnc() {
// > pinset(mujpin);
// > }
// >
// >
// > Hynek Sladky wrote:
// >
// >>#define pinset(port,bit) port |= (1<<bit)
// >>#define mujpin PORTA, 0
// >>
// >>funkce () {
// >> pinset (mujpin);
// >>}
// >>
// >>Prekladac ale hlasi:
// >>eval.c:87:13: macro "pinset" requires 2 arguments, but only 1 given
// >>eval.c: In function `funkce':
// >>eval.c:87: error: `pinset' undeclared (first use in this function)
// >
// >
// _______________________________________________
// HW-list mailing list - sponsored by www.HW.cz
// Hw-list@list.hw.cz
// http://list.hw.cz/mailman/listinfo/hw-list
_____
avast! Antivirus <http://www.avast.com> : Odchozi zprava cista.
Virova databaze (VPS): 0549-2, 06.12.2005
Testovano: 7.12.2005 15:05:20
avast! - copyright (c) 2000-2003 ALWIL Software.
Další informace o konferenci Hw-list