excellent idea! it would still be nice if you could write: pin_blah = Z; // make pin an input!
i suspect this would over challenge the language ;-) > -----Original Message----- > From: Dmitry [mailto:[email protected]] > Sent: Monday, 9 December 2002 9:58 PM > To: [email protected] > Subject: [Mspgcc-users] ports declaration. > > > Folks, > I am thinking of changind some io API (not really changing, > but extensions). > So, will it worth if we declare ports as structures: > -------------------------------------------------------------- > ------------------------- > typedef union port { > volatile unsigned char reg_p; > volatile struct { > unsigned __p0:1, __p1:1, __p2:1, __p3:1, __p4:1, __p5:1, > __p6:1, __p7:1; > } __pin; > } ioport_t; > > #define pin0 __pin.__p0 > #define pin1 __pin.__p1 > #define pin2 __pin.__p2 > #define pin3 __pin.__p3 > #define pin4 __pin.__p4 > #define pin5 __pin.__p5 > #define pin6 __pin.__p6 > #define pin7 __pin.__p7 > > typedef struct { > ioport_t in, out,dir,ifg,ies,ie,sel; > } xport_t; > > xport_t port0 asm("0x10"); > /// and so on... > ---------------------------------------------------------------------- > So, user can write: > port0.out.pin1 = 1; > xxx = port0.in.pin2; > port0.reg_p = 0x7e; > or something. > > Of course this will not discard existing declarations. > > If we're going to add this declaration to header files, we > need to choose a > name for portX. Will 'port0 .. port6' be suitable for it? > > Or just forget about it? > > ~d > > > /******************************************************************** > ("`-''-/").___..--''"`-._ (\ Dimmy the Wild UA1ACZ > `6_ 6 ) `-. ( ).`-.__.`) Enterprise Information Sys > (_Y_.)' ._ ) `._ `. ``-..-' Nevsky prospekt, 20 / 44 > _..`--'_..-_/ /--'_.' ,' Saint Petersburg, Russia > (il),-'' (li),' ((!.-' +7 (812) 3468202, 5585314 > ********************************************************************/ > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Mspgcc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mspgcc-users > ____ This communication contains information which is confidential and the copyright of Nautronix. If you are not the intended recipient of this communication please delete and destroy all copies and advise Nautronix immediately. If you are the intended recipient of this communication you should not copy, disclose or distribute this communication without the prior authority of Nautronix. Any views expressed in this Communication are those of the individual sender, except where the sender specifically states them to be the views of Nautronix. Except as required at law, Nautronix does not represent, warrant and/or guarantee that the integrity of this communication has been maintained nor that the communication is free of errors, virus, interception or interference.
