📄 hplmsp430generalioc.nc
字号:
/* "Copyright (c) 2000-2003 The Regents of the University of California. * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement * is hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. * * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY * OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." *//** * HPL for the TI MSP430 family of microprocessors. This provides an * abstraction for general-purpose I/O. * * @author Joe Polastre */configuration HplMsp430GeneralIOC{ // provides all the ports as raw ports#ifdef __msp430_have_port1 provides interface HplMsp430GeneralIO as Port10; provides interface HplMsp430GeneralIO as Port11; provides interface HplMsp430GeneralIO as Port12; provides interface HplMsp430GeneralIO as Port13; provides interface HplMsp430GeneralIO as Port14; provides interface HplMsp430GeneralIO as Port15; provides interface HplMsp430GeneralIO as Port16; provides interface HplMsp430GeneralIO as Port17;#endif#ifdef __msp430_have_port2 provides interface HplMsp430GeneralIO as Port20; provides interface HplMsp430GeneralIO as Port21; provides interface HplMsp430GeneralIO as Port22; provides interface HplMsp430GeneralIO as Port23; provides interface HplMsp430GeneralIO as Port24; provides interface HplMsp430GeneralIO as Port25; provides interface HplMsp430GeneralIO as Port26; provides interface HplMsp430GeneralIO as Port27;#endif#ifdef __msp430_have_port3 provides interface HplMsp430GeneralIO as Port30; provides interface HplMsp430GeneralIO as Port31; provides interface HplMsp430GeneralIO as Port32; provides interface HplMsp430GeneralIO as Port33; provides interface HplMsp430GeneralIO as Port34; provides interface HplMsp430GeneralIO as Port35; provides interface HplMsp430GeneralIO as Port36; provides interface HplMsp430GeneralIO as Port37;#endif#ifdef __msp430_have_port4 provides interface HplMsp430GeneralIO as Port40; provides interface HplMsp430GeneralIO as Port41; provides interface HplMsp430GeneralIO as Port42; provides interface HplMsp430GeneralIO as Port43; provides interface HplMsp430GeneralIO as Port44; provides interface HplMsp430GeneralIO as Port45; provides interface HplMsp430GeneralIO as Port46; provides interface HplMsp430GeneralIO as Port47;#endif#ifdef __msp430_have_port5 provides interface HplMsp430GeneralIO as Port50; provides interface HplMsp430GeneralIO as Port51; provides interface HplMsp430GeneralIO as Port52; provides interface HplMsp430GeneralIO as Port53; provides interface HplMsp430GeneralIO as Port54; provides interface HplMsp430GeneralIO as Port55; provides interface HplMsp430GeneralIO as Port56; provides interface HplMsp430GeneralIO as Port57;#endif#ifdef __msp430_have_port6 provides interface HplMsp430GeneralIO as Port60; provides interface HplMsp430GeneralIO as Port61; provides interface HplMsp430GeneralIO as Port62; provides interface HplMsp430GeneralIO as Port63; provides interface HplMsp430GeneralIO as Port64; provides interface HplMsp430GeneralIO as Port65; provides interface HplMsp430GeneralIO as Port66; provides interface HplMsp430GeneralIO as Port67;#endif // provides special ports explicitly // this section of HplMsp430GeneralIOC supports the F14x series#ifdef __msp430x14x provides interface HplMsp430GeneralIO as STE0; provides interface HplMsp430GeneralIO as SIMO0; provides interface HplMsp430GeneralIO as SOMI0; provides interface HplMsp430GeneralIO as UCLK0; provides interface HplMsp430GeneralIO as UTXD0; provides interface HplMsp430GeneralIO as URXD0; provides interface HplMsp430GeneralIO as STE1; provides interface HplMsp430GeneralIO as SIMO1; provides interface HplMsp430GeneralIO as SOMI1; provides interface HplMsp430GeneralIO as UCLK1; provides interface HplMsp430GeneralIO as UTXD1; provides interface HplMsp430GeneralIO as URXD1; provides interface HplMsp430GeneralIO as ADC0; provides interface HplMsp430GeneralIO as ADC1; provides interface HplMsp430GeneralIO as ADC2; provides interface HplMsp430GeneralIO as ADC3; provides interface HplMsp430GeneralIO as ADC4; provides interface HplMsp430GeneralIO as ADC5; provides interface HplMsp430GeneralIO as ADC6; provides interface HplMsp430GeneralIO as ADC7;#endif // this section of HplMsp430GeneralIOC supports the F16x series#ifdef __msp430x16x provides interface HplMsp430GeneralIO as STE0; provides interface HplMsp430GeneralIO as SIMO0; provides interface HplMsp430GeneralIO as SDA; provides interface HplMsp430GeneralIO as SOMI0; provides interface HplMsp430GeneralIO as UCLK0; provides interface HplMsp430GeneralIO as SCL; provides interface HplMsp430GeneralIO as UTXD0; provides interface HplMsp430GeneralIO as URXD0; provides interface HplMsp430GeneralIO as STE1; provides interface HplMsp430GeneralIO as SIMO1; provides interface HplMsp430GeneralIO as SOMI1; provides interface HplMsp430GeneralIO as UCLK1; provides interface HplMsp430GeneralIO as UTXD1; provides interface HplMsp430GeneralIO as URXD1; provides interface HplMsp430GeneralIO as ADC0; provides interface HplMsp430GeneralIO as ADC1; provides interface HplMsp430GeneralIO as ADC2; provides interface HplMsp430GeneralIO as ADC3; provides interface HplMsp430GeneralIO as ADC4; provides interface HplMsp430GeneralIO as ADC5; provides interface HplMsp430GeneralIO as ADC6; provides interface HplMsp430GeneralIO as ADC7; provides interface HplMsp430GeneralIO as DAC0; provides interface HplMsp430GeneralIO as DAC1; provides interface HplMsp430GeneralIO as SVSIN; provides interface HplMsp430GeneralIO as SVSOUT;#endif}implementation{ components #ifdef __msp430_have_port1 new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 0) as P10, new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 1) as P11, new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 2) as P12, new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 3) as P13, new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 4) as P14, new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 5) as P15, new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 6) as P16, new HplMsp430GeneralIOP(P1IN_, P1OUT_, P1DIR_, P1SEL_, 7) as P17,#endif#ifdef __msp430_have_port2 new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 0) as P20, new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 1) as P21, new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 2) as P22, new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 3) as P23, new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 4) as P24, new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 5) as P25, new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 6) as P26, new HplMsp430GeneralIOP(P2IN_, P2OUT_, P2DIR_, P2SEL_, 7) as P27,#endif#ifdef __msp430_have_port3 new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 0) as P30, new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 1) as P31, new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 2) as P32, new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 3) as P33, new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 4) as P34, new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 5) as P35, new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 6) as P36, new HplMsp430GeneralIOP(P3IN_, P3OUT_, P3DIR_, P3SEL_, 7) as P37,#endif#ifdef __msp430_have_port4 new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 0) as P40, new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 1) as P41, new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 2) as P42, new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 3) as P43, new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 4) as P44, new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 5) as P45, new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 6) as P46, new HplMsp430GeneralIOP(P4IN_, P4OUT_, P4DIR_, P4SEL_, 7) as P47,#endif#ifdef __msp430_have_port5 new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 0) as P50, new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 1) as P51, new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 2) as P52, new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 3) as P53, new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 4) as P54, new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 5) as P55, new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 6) as P56, new HplMsp430GeneralIOP(P5IN_, P5OUT_, P5DIR_, P5SEL_, 7) as P57,#endif#ifdef __msp430_have_port6 new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 0) as P60, new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 1) as P61, new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 2) as P62, new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 3) as P63, new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 4) as P64, new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 5) as P65, new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 6) as P66, new HplMsp430GeneralIOP(P6IN_, P6OUT_, P6DIR_, P6SEL_, 7) as P67#endif ;#ifdef __msp430_have_port1 Port10 = P10; Port11 = P11; Port12 = P12; Port13 = P13; Port14 = P14; Port15 = P15; Port16 = P16; Port17 = P17;#endif#ifdef __msp430_have_port2 Port20 = P20; Port21 = P21; Port22 = P22; Port23 = P23; Port24 = P24; Port25 = P25; Port26 = P26; Port27 = P27;#endif#ifdef __msp430_have_port3 Port30 = P30; Port31 = P31; Port32 = P32; Port33 = P33; Port34 = P34; Port35 = P35; Port36 = P36; Port37 = P37;#endif#ifdef __msp430_have_port4 Port40 = P40; Port41 = P41; Port42 = P42; Port43 = P43; Port44 = P44; Port45 = P45; Port46 = P46; Port47 = P47;#endif #ifdef __msp430_have_port5 Port50 = P50; Port51 = P51; Port52 = P52; Port53 = P53; Port54 = P54; Port55 = P55; Port56 = P56; Port57 = P57;#endif#ifdef __msp430_have_port6 Port60 = P60; Port61 = P61; Port62 = P62; Port63 = P63; Port64 = P64; Port65 = P65; Port66 = P66; Port67 = P67;#endif#ifdef __msp430x14x STE0 = P30; SIMO0 = P31; SOMI0 = P32; UCLK0 = P33; UTXD0 = P34; URXD0 = P35; STE1 = P50; SIMO1 = P51; SOMI1 = P52; UCLK1 = P53; UTXD1 = P36; URXD1 = P37; ADC0 = P60; ADC1 = P61; ADC2 = P62; ADC3 = P63; ADC4 = P64; ADC5 = P65; ADC6 = P66; ADC7 = P67;#endif#ifdef __msp430x16x STE0 = P30; SIMO0 = P31; SDA = P31; SOMI0 = P32; UCLK0 = P33; SCL = P33; UTXD0 = P34; URXD0 = P35; STE1 = P50; SIMO1 = P51; SOMI1 = P52; UCLK1 = P53; UTXD1 = P36; URXD1 = P37; ADC0 = P60; ADC1 = P61; ADC2 = P62; ADC3 = P63; ADC4 = P64; ADC5 = P65; ADC6 = P66; ADC7 = P67; DAC0 = P66; DAC1 = P67; SVSIN = P67; SVSOUT = P57;#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -