|
Embedded C Firmware Library : Arduino / Atmega328p
1
Register Level Embedded C Hardware Abstraction Library for AVR ATmega48A/PA/88A/PA/168A/PA/328/P or Arduino UNO/NANO/MINI
|
Go to the documentation of this file.
38 #pragma message ( "avr_gpio.h included" )
44 #define GPIO_MODE_OUTPUT 0x00
45 #define GPIO_MODE_TRI_STATE 0x02
46 #define GPIO_MODE_INPUT_WITH_PULL_UP 0x01
47 #define GPIO_MODE_INPUT_WITHOUT_PULL_UP 0x02
213 inline void GPIO_Init(
volatile uint8_t* Port,uint8_t Pin,uint8_t PinMode);
215 inline void GPIO_DeInit(
volatile uint8_t* Port,uint8_t Pin);
223 inline uint8_t
GPIO_Read(
volatile uint8_t* Port, uint8_t Pin);
225 inline void GPIO_Write(
volatile uint8_t* Port, uint8_t Pin, uint8_t PinState);
226 inline void GPIO_Toggle(
volatile uint8_t* Port, uint8_t Pin);
260 inline void GPIO_Init(
volatile uint8_t* Port, uint8_t Pin, uint8_t PinMode)
268 *(Port-0x01) &= ~(Pin);
274 *(Port-0x01) &= ~(Pin);
294 GPIO_Init(&PORTB,(1<<(Pin - 8)),PinMode);
298 GPIO_Init(&PORTC,(1<<(Pin - 14)),PinMode);
311 *(Port-0x01) &= ~(Pin);
312 *(Port-0x02) &= ~(Pin);
346 inline uint8_t
GPIO_Read(
volatile uint8_t* Port, uint8_t Pin)
348 return *(Port - 0x02) & (Pin);
359 inline void GPIO_Write(
volatile uint8_t* Port, uint8_t Pin, uint8_t PinState)
361 if (PinState ==
HIGH)
365 else if (PinState ==
LOW)
369 else if (PinState ==
TOGGLE)
407 return GPIO_Read(&PORTC,(1<<(Pin - 14)));
void GPIO_Toggle(volatile uint8_t *Port, uint8_t Pin)
Public Function to Toggle Output Value of Digital I/O Pin.
Definition: avr_gpio.h:382
void GPIO_EnableGlobalPullUp()
Public Function to Enable Global Pull Up.
Definition: avr_gpio.h:247
void GPIO_WritePinLow(uint8_t Pin)
Public Function to Write Output Value of Digital I/O Pin to LOW.
Definition: avr_gpio.h:439
void GPIO_InitPin(uint8_t Pin, uint8_t PinMode)
Public Function to Configure and Initialize Digital I/O Pin.
Definition: avr_gpio.h:286
void GPIO_Write(volatile uint8_t *Port, uint8_t Pin, uint8_t PinState)
Public Function to Write Output Value Digital I/O Pin.
Definition: avr_gpio.h:359
void GPIO_Init(volatile uint8_t *Port, uint8_t Pin, uint8_t PinMode)
Public Function to Configure and Initialize Digital I/O Pin.
Definition: avr_gpio.h:260
void GPIO_DeInitPin(uint8_t Pin)
Public Function to De-Initialize Digital I/O Pin.
Definition: avr_gpio.h:323
#define GPIO_MODE_OUTPUT
Definition: avr_gpio.h:44
#define GPIO_MODE_INPUT_WITH_PULL_UP
Definition: avr_gpio.h:46
#define LOW
Definition: avr_gpio.h:54
void GPIO_WritePinHigh(uint8_t Pin)
Public Function to Write Output Value of Digital I/O Pin to HIGH.
Definition: avr_gpio.h:417
uint8_t GPIO_ReadPin(uint8_t Pin)
Public Function to Read Digital I/O Pin.
Definition: avr_gpio.h:395
void GPIO_DisableGlobalPullUp()
Public Function to Disable Global Pull Up.
Definition: avr_gpio.h:237
#define GPIO_MODE_INPUT_WITHOUT_PULL_UP
Definition: avr_gpio.h:47
void GPIO_DeInit(volatile uint8_t *Port, uint8_t Pin)
Public Function to De-Initialize Digital I/O Pin.
Definition: avr_gpio.h:309
#define TOGGLE
Definition: avr_gpio.h:56
uint8_t GPIO_Read(volatile uint8_t *Port, uint8_t Pin)
Public Function to Read Digital I/O Pin.
Definition: avr_gpio.h:346
void GPIO_WritePinToggle(uint8_t Pin)
Public Function to Write Output Value of Digital I/O Pin to TOGGLE.
Definition: avr_gpio.h:461
#define HIGH
Definition: avr_gpio.h:55