Project 6
Monochrome Liquid-Crystal Display
Neff Site
board.h
Go to the documentation of this file.
1
37
#ifndef XMEGA_A1_XPLAINED_H_
38
#define XMEGA_A1_XPLAINED_H_
39
65
/****** General-purpose input/output ******/
66
#define GPIO_LOW_PORT PORTD
67
#define GPIO_HIGH_PORT PORTR
68
#define GPIO_LOW_PINS_gp 0
69
#define GPIO_LOW_PINS_gm 0x3F
70
#define GPIO_HIGH_PINS_gp 6
71
#define GPIO_HIGH_PINS_gm 0xC0
72
73
#define GPIO_PIN0_bp PIN0_bp
74
#define GPIO_PIN1_bp PIN1_bp
75
#define GPIO_PIN2_bp PIN2_bp
76
#define GPIO_PIN3_bp PIN3_bp
77
#define GPIO_PIN4_bp PIN4_bp
78
#define GPIO_PIN5_bp PIN5_bp
79
#define GPIO_PIN6_bp PIN0_bp
80
#define GPIO_PIN7_bp PIN1_bp
81
82
#define GPIO_PIN0_bm PIN0_bm
83
#define GPIO_PIN1_bm PIN1_bm
84
#define GPIO_PIN2_bm PIN2_bm
85
#define GPIO_PIN3_bm PIN3_bm
86
#define GPIO_PIN4_bm PIN4_bm
87
#define GPIO_PIN5_bm PIN5_bm
88
#define GPIO_PIN6_bm PIN0_bm
89
#define GPIO_PIN7_bm PIN1_bm
90
91
#define GPIO_PIN0CTRL GPIO_LOW_PORT.PIN0CTRL
92
#define GPIO_PIN1CTRL GPIO_LOW_PORT.PIN1CTRL
93
#define GPIO_PIN2CTRL GPIO_LOW_PORT.PIN2CTRL
94
#define GPIO_PIN3CTRL GPIO_LOW_PORT.PIN3CTRL
95
#define GPIO_PIN4CTRL GPIO_LOW_PORT.PIN4CTRL
96
#define GPIO_PIN5CTRL GPIO_LOW_PORT.PIN5CTRL
97
#define GPIO_PIN6CTRL GPIO_HIGH_PORT.PIN0CTRL
98
#define GPIO_PIN7CTRL GPIO_HIGH_PORT.PIN1CTRL
99
102
#define GPIO_READ() ((GPIO_LOW_PORT.IN & GPIO_LOW_PINS_gm) | ((GPIO_HIGH_PORT.IN << GPIO_HIGH_PINS_gp) & GPIO_HIGH_PINS_gm))
103
107
#define GPIO_WRITE(VAL) GPIO_LOW_PORT.OUT = (VAL) & GPIO_LOW_PINS_gm; GPIO_HIGH_PORT.OUT = (((VAL) & GPIO_HIGH_PINS_gm) >> GPIO_HIGH_PINS_gp);
108
133
/****** Active low LEDs ******/
134
#define LED_PORT PORTE
135
#define LED_PINS_gp 0
136
#define LED_PINS_gm 0xFF
137
138
#define LED0_PIN_bp PIN0_bp
139
#define LED1_PIN_bp PIN1_bp
140
#define LED2_PIN_bp PIN2_bp
141
#define LED3_PIN_bp PIN3_bp
142
#define LED4_PIN_bp PIN4_bp
143
#define LED5_PIN_bp PIN5_bp
144
#define LED6_PIN_bp PIN6_bp
145
#define LED7_PIN_bp PIN7_bp
146
147
#define LED0_PIN_bm PIN0_bm
148
#define LED1_PIN_bm PIN1_bm
149
#define LED2_PIN_bm PIN2_bm
150
#define LED3_PIN_bm PIN3_bm
151
#define LED4_PIN_bm PIN4_bm
152
#define LED5_PIN_bm PIN5_bm
153
#define LED6_PIN_bm PIN6_bm
154
#define LED7_PIN_bm PIN7_bm
155
182
/****** Active low push buttons ******/
183
#define BUTTON_LOW_PORT PORTD
184
#define BUTTON_HIGH_PORT PORTR
185
#define BUTTON_LOW_PINS_gp 0
186
#define BUTTON_LOW_PINS_gm 0x3F
187
#define BUTTON_HIGH_PINS_gp 6
188
#define BUTTON_HIGH_PINS_gm 0xC0
189
190
#define BUTTON0_PIN_bp PIN0_bp
191
#define BUTTON1_PIN_bp PIN1_bp
192
#define BUTTON2_PIN_bp PIN2_bp
193
#define BUTTON3_PIN_bp PIN3_bp
194
#define BUTTON4_PIN_bp PIN4_bp
195
#define BUTTON5_PIN_bp PIN5_bp
196
#define BUTTON6_PIN_bp PIN0_bp
197
#define BUTTON7_PIN_bp PIN1_bp
198
199
#define BUTTON0_PIN_bm PIN0_bm
200
#define BUTTON1_PIN_bm PIN1_bm
201
#define BUTTON2_PIN_bm PIN2_bm
202
#define BUTTON3_PIN_bm PIN3_bm
203
#define BUTTON4_PIN_bm PIN4_bm
204
#define BUTTON5_PIN_bm PIN5_bm
205
#define BUTTON6_PIN_bm PIN0_bm
206
#define BUTTON7_PIN_bm PIN1_bm
207
208
#define BUTTON0_PINCTRL BUTTON_LOW_PORT.PIN0CTRL
209
#define BUTTON1_PINCTRL BUTTON_LOW_PORT.PIN1CTRL
210
#define BUTTON2_PINCTRL BUTTON_LOW_PORT.PIN2CTRL
211
#define BUTTON3_PINCTRL BUTTON_LOW_PORT.PIN3CTRL
212
#define BUTTON4_PINCTRL BUTTON_LOW_PORT.PIN4CTRL
213
#define BUTTON5_PINCTRL BUTTON_LOW_PORT.PIN5CTRL
214
#define BUTTON6_PINCTRL BUTTON_HIGH_PORT.PIN0CTRL
215
#define BUTTON7_PINCTRL BUTTON_HIGH_PORT.PIN1CTRL
216
219
#define BUTTONS_READ() ((BUTTON_LOW_PORT.IN & BUTTON_LOW_PINS_gm) | ((BUTTON_HIGH_PORT.IN << BUTTON_HIGH_PINS_gp) & BUTTON_HIGH_PINS_gm))
220
224
#define BUTTON_PRESSED(BUTTON) (!(BUTTONS_READ() & (1 << BUTTON)))
225
234
/****** USART-to-USB gateway ******/
235
#define USART0_RX_PIN_bm PIN2_bm
236
#define USART0_TX_PIN_bm PIN3_bm
237
#define USART1_RX_PIN_bm PIN6_bm
238
#define USART1_TX_PIN_bm PIN7_bm
239
240
#define USB_USART_PORT PORTC
241
#define USB_USART_MODULE USARTC0
242
#define USB_USART_RX_PIN_bm USART0_RX_PIN_bm
243
#define USB_USART_TX_PIN_bm USART0_TX_PIN_bm
244
#define USB_USART_RXC_vect USARTC0_RXC_vect
245
#define USB_USART_DRE_vect USARTC0_DRE_vect
246
247
#define USB_USART_BSEL 11
248
#define USB_USART_BSCALE (-7)
249
#define USB_USART_CONFIG (USART_CHSIZE_8BIT_gc | USART_PMODE_DISABLED_gc)
250
251
#define USB_USART_SPEED 115200
252
254
/****** Sensors ******/
255
#define SENSOR_PORT PORTB
256
#define SENSOR_ADC_MODULE ADCB
257
285
/****** Light sensor ******/
286
#define LIGHT_SENSOR_SIGNAL_PIN_bp PIN1_bp
287
#define LIGHT_SENSOR_SIGNAL_PIN_bm PIN1_bm
288
#define LIGHT_SENSOR_ADC_INPUT ADC_CH_MUXPOS_PIN1_gc
289
318
/****** Temperature sensor ******/
319
#define TEMPERATURE_SENSOR_SIGNAL_PIN_bp PIN0_bp
320
#define TEMPERATURE_SENSOR_SIGNAL_PIN_bm PIN0_bm
321
#define TEMPERATURE_SENSOR_ENABLE_PIN_bp PIN3_bp
322
#define TEMPERATURE_SENSOR_ENABLE_PIN_bm PIN3_bm
323
#define TEMPERATURE_SENSOR_ADC_INPUT ADC_CH_MUXPOS_PIN0_gc
324
350
/****** Speaker ******/
351
#define SPEAKER_SIGNAL_PORT PORTB
352
#define SPEAKER_SIGNAL_PIN_bp PIN2_bp
353
#define SPEAKER_SIGNAL_PIN_bm PIN2_bm
354
#define SPEAKER_SHUTDOWN_PORT PORTQ
355
#define SPEAKER_SHUTDOWN_PIN_bp PIN3_bp
356
#define SPEAKER_SHUTDOWN_PIN_bm PIN3_bm
357
#define SPEAKER_DAC_MODULE DACB
358
#define SPEAKER_DAC_CHANNEL 0
359
364
/****** Internal oscillator ******/
365
#define OSC_INTERNAL_2HZ 2000000L
366
#define OSC_INTERNAL_32HZ 32000000L
367
368
/****** Default oscillator ******/
369
#define OSC_DEFAULT_HZ OSC_INTERNAL_2HZ
370
371
/****** F_CPU ******/
372
#ifndef F_CPU
373
#define F_CPU OSC_INTERNAL_2HZ
374
#warning "F_CPU initialized with default value"
375
#endif
376
378
#endif
/* XMEGA_A1_XPLAINED_H_ */
Contact
Generated by
1.8.13