Project 2  8×8 Dot-Matrix Display
Neff Site
Macros
GPIO

Constants for the GPIO port. More...

Macros

#define GPIO_LOW_PORT   PORTD
 
#define GPIO_HIGH_PORT   PORTR
 
#define GPIO_LOW_PINS_gp   0
 
#define GPIO_LOW_PINS_gm   0x3F
 
#define GPIO_HIGH_PINS_gp   6
 
#define GPIO_HIGH_PINS_gm   0xC0
 
#define GPIO_PIN0_bp   PIN0_bp
 
#define GPIO_PIN1_bp   PIN1_bp
 
#define GPIO_PIN2_bp   PIN2_bp
 
#define GPIO_PIN3_bp   PIN3_bp
 
#define GPIO_PIN4_bp   PIN4_bp
 
#define GPIO_PIN5_bp   PIN5_bp
 
#define GPIO_PIN6_bp   PIN0_bp
 
#define GPIO_PIN7_bp   PIN1_bp
 
#define GPIO_PIN0_bm   PIN0_bm
 
#define GPIO_PIN1_bm   PIN1_bm
 
#define GPIO_PIN2_bm   PIN2_bm
 
#define GPIO_PIN3_bm   PIN3_bm
 
#define GPIO_PIN4_bm   PIN4_bm
 
#define GPIO_PIN5_bm   PIN5_bm
 
#define GPIO_PIN6_bm   PIN0_bm
 
#define GPIO_PIN7_bm   PIN1_bm
 
#define GPIO_PIN0CTRL   GPIO_LOW_PORT.PIN0CTRL
 
#define GPIO_PIN1CTRL   GPIO_LOW_PORT.PIN1CTRL
 
#define GPIO_PIN2CTRL   GPIO_LOW_PORT.PIN2CTRL
 
#define GPIO_PIN3CTRL   GPIO_LOW_PORT.PIN3CTRL
 
#define GPIO_PIN4CTRL   GPIO_LOW_PORT.PIN4CTRL
 
#define GPIO_PIN5CTRL   GPIO_LOW_PORT.PIN5CTRL
 
#define GPIO_PIN6CTRL   GPIO_HIGH_PORT.PIN0CTRL
 
#define GPIO_PIN7CTRL   GPIO_HIGH_PORT.PIN1CTRL
 
#define GPIO_READ()   ((GPIO_LOW_PORT.IN & GPIO_LOW_PINS_gm) | ((GPIO_HIGH_PORT.IN << GPIO_HIGH_PINS_gp) & GPIO_HIGH_PINS_gm))
 Read all GPIO pins More...
 
#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);
 Set all GPIO pins More...
 

Detailed Description

Constants for the GPIO port.

Jumper J3 is used for GPIO.
Note: buttons and GPIO share the same port.

Macro Definition Documentation

◆ GPIO_HIGH_PINS_gm

#define GPIO_HIGH_PINS_gm   0xC0

◆ GPIO_HIGH_PINS_gp

#define GPIO_HIGH_PINS_gp   6

◆ GPIO_HIGH_PORT

#define GPIO_HIGH_PORT   PORTR

◆ GPIO_LOW_PINS_gm

#define GPIO_LOW_PINS_gm   0x3F

◆ GPIO_LOW_PINS_gp

#define GPIO_LOW_PINS_gp   0

◆ GPIO_LOW_PORT

#define GPIO_LOW_PORT   PORTD

◆ GPIO_PIN0_bm

#define GPIO_PIN0_bm   PIN0_bm

◆ GPIO_PIN0_bp

#define GPIO_PIN0_bp   PIN0_bp

◆ GPIO_PIN0CTRL

#define GPIO_PIN0CTRL   GPIO_LOW_PORT.PIN0CTRL

◆ GPIO_PIN1_bm

#define GPIO_PIN1_bm   PIN1_bm

◆ GPIO_PIN1_bp

#define GPIO_PIN1_bp   PIN1_bp

◆ GPIO_PIN1CTRL

#define GPIO_PIN1CTRL   GPIO_LOW_PORT.PIN1CTRL

◆ GPIO_PIN2_bm

#define GPIO_PIN2_bm   PIN2_bm

◆ GPIO_PIN2_bp

#define GPIO_PIN2_bp   PIN2_bp

◆ GPIO_PIN2CTRL

#define GPIO_PIN2CTRL   GPIO_LOW_PORT.PIN2CTRL

◆ GPIO_PIN3_bm

#define GPIO_PIN3_bm   PIN3_bm

◆ GPIO_PIN3_bp

#define GPIO_PIN3_bp   PIN3_bp

◆ GPIO_PIN3CTRL

#define GPIO_PIN3CTRL   GPIO_LOW_PORT.PIN3CTRL

◆ GPIO_PIN4_bm

#define GPIO_PIN4_bm   PIN4_bm

◆ GPIO_PIN4_bp

#define GPIO_PIN4_bp   PIN4_bp

◆ GPIO_PIN4CTRL

#define GPIO_PIN4CTRL   GPIO_LOW_PORT.PIN4CTRL

◆ GPIO_PIN5_bm

#define GPIO_PIN5_bm   PIN5_bm

◆ GPIO_PIN5_bp

#define GPIO_PIN5_bp   PIN5_bp

◆ GPIO_PIN5CTRL

#define GPIO_PIN5CTRL   GPIO_LOW_PORT.PIN5CTRL

◆ GPIO_PIN6_bm

#define GPIO_PIN6_bm   PIN0_bm

◆ GPIO_PIN6_bp

#define GPIO_PIN6_bp   PIN0_bp

◆ GPIO_PIN6CTRL

#define GPIO_PIN6CTRL   GPIO_HIGH_PORT.PIN0CTRL

◆ GPIO_PIN7_bm

#define GPIO_PIN7_bm   PIN1_bm

◆ GPIO_PIN7_bp

#define GPIO_PIN7_bp   PIN1_bp

◆ GPIO_PIN7CTRL

#define GPIO_PIN7CTRL   GPIO_HIGH_PORT.PIN1CTRL

◆ GPIO_READ

#define GPIO_READ ( )    ((GPIO_LOW_PORT.IN & GPIO_LOW_PINS_gm) | ((GPIO_HIGH_PORT.IN << GPIO_HIGH_PINS_gp) & GPIO_HIGH_PINS_gm))

Read all GPIO pins

◆ GPIO_WRITE

#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);

Set all GPIO pins

Parameters
VALThe new value for the pins.
Contact