43#ifndef GPIO_HAL_ARCH_H_
44#define GPIO_HAL_ARCH_H_
50#define GPIO_HAL_ARCH_PORT_1 1
51#define GPIO_HAL_ARCH_PORT_2 2
52#define GPIO_HAL_ARCH_PORT_3 3
53#define GPIO_HAL_ARCH_PORT_4 4
60#define gpio_hal_arch_set_pin(port, pin) \
61 gpio_hal_arch_msp430_set_pin(port, pin)
62#define gpio_hal_arch_clear_pin(port, pin) \
63 gpio_hal_arch_msp430_clear_pin(port, pin)
64#define gpio_hal_arch_toggle_pin(port, pin) \
65 gpio_hal_arch_msp430_toggle_pin(port, pin)
66#define gpio_hal_arch_read_pin(port, pin) \
67 gpio_hal_arch_msp430_read_pin(port, pin)
68#define gpio_hal_arch_write_pin(port, pin, v) \
69 gpio_hal_arch_msp430_write_pin(port, pin, v)
71#define gpio_hal_arch_set_pins(port, pins) \
72 gpio_hal_arch_msp430_set_pins(port, pins)
73#define gpio_hal_arch_clear_pins(port, pins) \
74 gpio_hal_arch_msp430_clear_pins(port, pins)
75#define gpio_hal_arch_toggle_pins(port, pins) \
76 gpio_hal_arch_msp430_toggle_pins(port, pins)
77#define gpio_hal_arch_read_pins(port, pins) \
78 gpio_hal_arch_msp430_read_pins(port, pins)
79#define gpio_hal_arch_write_pins(port, pins, v) \
80 gpio_hal_arch_msp430_write_pins(port, pins, v)
82#define gpio_hal_arch_pin_set_input(port, pin) \
83 gpio_hal_arch_msp430_pin_set_input(port, pin)
84#define gpio_hal_arch_pin_set_output(port, pin) \
85 gpio_hal_arch_msp430_pin_set_output(port, pin)
90 uint8_t m = (uint8_t)pins;
92 case 1: P1OUT |= m;
break;
93 case 2: P2OUT |= m;
break;
94 case 3: P3OUT |= m;
break;
95 case 4: P4OUT |= m;
break;
102 uint8_t m = (uint8_t)pins;
104 case 1: P1OUT &= ~m;
break;
105 case 2: P2OUT &= ~m;
break;
106 case 3: P3OUT &= ~m;
break;
107 case 4: P4OUT &= ~m;
break;
114 uint8_t m = (uint8_t)pins;
116 case 1: P1OUT ^= m;
break;
117 case 2: P2OUT ^= m;
break;
118 case 3: P3OUT ^= m;
break;
119 case 4: P4OUT ^= m;
break;
126 uint8_t m = (uint8_t)pins;
129 case 1: in = P1IN;
break;
130 case 2: in = P2IN;
break;
131 case 3: in = P3IN;
break;
132 case 4: in = P4IN;
break;
142 uint8_t m = (uint8_t)pins;
143 uint8_t v = (uint8_t)
value;
145 case 1: P1OUT = (P1OUT & ~m) | (v & m);
break;
146 case 2: P2OUT = (P2OUT & ~m) | (v & m);
break;
147 case 3: P3OUT = (P3OUT & ~m) | (v & m);
break;
148 case 4: P4OUT = (P4OUT & ~m) | (v & m);
break;
183 gpio_hal_arch_msp430_write_pins(port, mask,
value ? mask : 0);
193 uint8_t m = (uint8_t)1 << pin;
194 uint8_t nm = (uint8_t)~m;
196 case 1: P1SEL0 &= nm; P1SEL1 &= nm; P1DIR &= nm;
break;
197 case 2: P2SEL0 &= nm; P2SEL1 &= nm; P2DIR &= nm;
break;
198 case 3: P3SEL0 &= nm; P3SEL1 &= nm; P3DIR &= nm;
break;
199 case 4: P4SEL0 &= nm; P4SEL1 &= nm; P4DIR &= nm;
break;
206 uint8_t m = (uint8_t)1 << pin;
207 uint8_t nm = (uint8_t)~m;
209 case 1: P1SEL0 &= nm; P1SEL1 &= nm; P1DIR |= m;
break;
210 case 2: P2SEL0 &= nm; P2SEL1 &= nm; P2DIR |= m;
break;
211 case 3: P3SEL0 &= nm; P3SEL1 &= nm; P3DIR |= m;
break;
212 case 4: P4SEL0 &= nm; P4SEL1 &= nm; P4DIR |= m;
break;
static int value(int type)
uint32_t gpio_hal_pin_mask_t
GPIO pin mask representation.
uint8_t gpio_hal_port_t
A data structure that represents ports.
uint8_t gpio_hal_pin_t
GPIO pin number representation.