Project 5  Character Liquid-Crystal Display
Neff Site
Macros
Buttons

Constants for the active low push buttons. More...

Macros

#define BUTTON_LOW_PORT   PORTD
 
#define BUTTON_HIGH_PORT   PORTR
 
#define BUTTON_LOW_PINS_gp   0
 
#define BUTTON_LOW_PINS_gm   0x3F
 
#define BUTTON_HIGH_PINS_gp   6
 
#define BUTTON_HIGH_PINS_gm   0xC0
 
#define BUTTON0_PIN_bp   PIN0_bp
 
#define BUTTON1_PIN_bp   PIN1_bp
 
#define BUTTON2_PIN_bp   PIN2_bp
 
#define BUTTON3_PIN_bp   PIN3_bp
 
#define BUTTON4_PIN_bp   PIN4_bp
 
#define BUTTON5_PIN_bp   PIN5_bp
 
#define BUTTON6_PIN_bp   PIN0_bp
 
#define BUTTON7_PIN_bp   PIN1_bp
 
#define BUTTON0_PIN_bm   PIN0_bm
 
#define BUTTON1_PIN_bm   PIN1_bm
 
#define BUTTON2_PIN_bm   PIN2_bm
 
#define BUTTON3_PIN_bm   PIN3_bm
 
#define BUTTON4_PIN_bm   PIN4_bm
 
#define BUTTON5_PIN_bm   PIN5_bm
 
#define BUTTON6_PIN_bm   PIN0_bm
 
#define BUTTON7_PIN_bm   PIN1_bm
 
#define BUTTON0_PINCTRL   BUTTON_LOW_PORT.PIN0CTRL
 
#define BUTTON1_PINCTRL   BUTTON_LOW_PORT.PIN1CTRL
 
#define BUTTON2_PINCTRL   BUTTON_LOW_PORT.PIN2CTRL
 
#define BUTTON3_PINCTRL   BUTTON_LOW_PORT.PIN3CTRL
 
#define BUTTON4_PINCTRL   BUTTON_LOW_PORT.PIN4CTRL
 
#define BUTTON5_PINCTRL   BUTTON_LOW_PORT.PIN5CTRL
 
#define BUTTON6_PINCTRL   BUTTON_HIGH_PORT.PIN0CTRL
 
#define BUTTON7_PINCTRL   BUTTON_HIGH_PORT.PIN1CTRL
 
#define BUTTONS_READ()   ((BUTTON_LOW_PORT.IN & BUTTON_LOW_PINS_gm) | ((BUTTON_HIGH_PORT.IN << BUTTON_HIGH_PINS_gp) & BUTTON_HIGH_PINS_gm))
 Read all push buttons More...
 
#define BUTTON_PRESSED(BUTTON)   (!(BUTTONS_READ() & (1 << BUTTON)))
 Check if push button is pressed More...
 

Detailed Description

Constants for the active low push buttons.

There are eight active push buttons on the board. They are connected with jumper J3. Please consult the schematic for details.

  Header J3
     |
    .-.
    | | 330R
    | |
    '-'
     |
     |
   | o
 |=|>
   | o
     |
     |
    ===
    GND

Macro Definition Documentation

◆ BUTTON0_PIN_bm

#define BUTTON0_PIN_bm   PIN0_bm

◆ BUTTON0_PIN_bp

#define BUTTON0_PIN_bp   PIN0_bp

◆ BUTTON0_PINCTRL

#define BUTTON0_PINCTRL   BUTTON_LOW_PORT.PIN0CTRL

◆ BUTTON1_PIN_bm

#define BUTTON1_PIN_bm   PIN1_bm

◆ BUTTON1_PIN_bp

#define BUTTON1_PIN_bp   PIN1_bp

◆ BUTTON1_PINCTRL

#define BUTTON1_PINCTRL   BUTTON_LOW_PORT.PIN1CTRL

◆ BUTTON2_PIN_bm

#define BUTTON2_PIN_bm   PIN2_bm

◆ BUTTON2_PIN_bp

#define BUTTON2_PIN_bp   PIN2_bp

◆ BUTTON2_PINCTRL

#define BUTTON2_PINCTRL   BUTTON_LOW_PORT.PIN2CTRL

◆ BUTTON3_PIN_bm

#define BUTTON3_PIN_bm   PIN3_bm

◆ BUTTON3_PIN_bp

#define BUTTON3_PIN_bp   PIN3_bp

◆ BUTTON3_PINCTRL

#define BUTTON3_PINCTRL   BUTTON_LOW_PORT.PIN3CTRL

◆ BUTTON4_PIN_bm

#define BUTTON4_PIN_bm   PIN4_bm

◆ BUTTON4_PIN_bp

#define BUTTON4_PIN_bp   PIN4_bp

◆ BUTTON4_PINCTRL

#define BUTTON4_PINCTRL   BUTTON_LOW_PORT.PIN4CTRL

◆ BUTTON5_PIN_bm

#define BUTTON5_PIN_bm   PIN5_bm

◆ BUTTON5_PIN_bp

#define BUTTON5_PIN_bp   PIN5_bp

◆ BUTTON5_PINCTRL

#define BUTTON5_PINCTRL   BUTTON_LOW_PORT.PIN5CTRL

◆ BUTTON6_PIN_bm

#define BUTTON6_PIN_bm   PIN0_bm

◆ BUTTON6_PIN_bp

#define BUTTON6_PIN_bp   PIN0_bp

◆ BUTTON6_PINCTRL

#define BUTTON6_PINCTRL   BUTTON_HIGH_PORT.PIN0CTRL

◆ BUTTON7_PIN_bm

#define BUTTON7_PIN_bm   PIN1_bm

◆ BUTTON7_PIN_bp

#define BUTTON7_PIN_bp   PIN1_bp

◆ BUTTON7_PINCTRL

#define BUTTON7_PINCTRL   BUTTON_HIGH_PORT.PIN1CTRL

◆ BUTTON_HIGH_PINS_gm

#define BUTTON_HIGH_PINS_gm   0xC0

◆ BUTTON_HIGH_PINS_gp

#define BUTTON_HIGH_PINS_gp   6

◆ BUTTON_HIGH_PORT

#define BUTTON_HIGH_PORT   PORTR

◆ BUTTON_LOW_PINS_gm

#define BUTTON_LOW_PINS_gm   0x3F

◆ BUTTON_LOW_PINS_gp

#define BUTTON_LOW_PINS_gp   0

◆ BUTTON_LOW_PORT

#define BUTTON_LOW_PORT   PORTD

◆ BUTTON_PRESSED

#define BUTTON_PRESSED (   BUTTON)    (!(BUTTONS_READ() & (1 << BUTTON)))

Check if push button is pressed

Parameters
BUTTONNumber of button to be checked.

◆ BUTTONS_READ

#define BUTTONS_READ ( )    ((BUTTON_LOW_PORT.IN & BUTTON_LOW_PINS_gm) | ((BUTTON_HIGH_PORT.IN << BUTTON_HIGH_PINS_gp) & BUTTON_HIGH_PINS_gm))

Read all push buttons

Contact