GPIO Tiva C® Series

Download Report

Transcript GPIO Tiva C® Series

GPIO
Tiva C® Series
Raul Cabrera
Khaldon Batnij
Isaac Zavala
Introduction to GPIO
 General-purpose input/output (GPIO) peripherals
provide pins that can be configured for either input or
output.
 Output: able to write to an internal register to control
the state driven on the output pin.
 Input: can detect the state of the input by reading the
state of an internal register
General Information
 6 GPIO ports
 48 GPIO pins
 PC0-PC3 are protected against accidental
programming for JTAG/SWD
 PD7&PF0 Non Maskable Interrupts NMI
 GPIO Blocks are labeled as Port A-F
 All pins are only 5v tolerant except PD4, PD5, PB0, PB1
which are limited to 3.6v
TM4C123GH6PM I/O pins
GPIO Driver
 The GPIO module allows you to manage General
Purpose I/O pins and ports via simple and portable
APIs.
 The application needs to supply a GPIO_Config
structure to the module.
EK_TM4C123GXL.c
 EK_TM4C123GXL_initGPIO() function needed to
initialize the board specified GPIO peripheral settings.
 Declares the GPIO_config structure for pin
input/output configuration
 Configurations should be set before calling
GPIO_init()
APIs










The following are the GPIO APIs:
#include <ti/drivers/GPIO.h>
• GPIO_init() sets up the configured GPIO ports and pins.
• GPIO_read() gets the current state of the specified GPIO pin.
• GPIO_write() sets the state of the specified GPIO pin to on or off.
• GPIO_toggle() toggles the state of the specified GPIO pin.
• GPIO_setupCallbacks() sets up the hardware interrupt and callback table for a GPIO port.
• GPIO_clearInt() clears the interrupt flag for the specified GPIO pin.
• GPIO_disableInt() disables interrupts on the specified GPIO pin.
• GPIO_enableInt() enables interrupts on the specified GPIO pin for the specified pin event.
PinMux
 Provides a simple graphical way to initialize port pins with collision
and error control
 Gives users the ability to select from a list of supported peripherals
and automatically generate code for the required peripheral
functions
 Provides protection for JTAG pins
 Generates fully-commented code that implements Driver Library API
calls to enable the required peripheral clocks and to configure the
pins for the chosen function
 Allows manual selection of port functions and automatic selection
of peripherals with the ability to lock/unlock specific port functions
Example
Example
Questions?
References and further reading
 TM4C123GH6PM Data sheet http://www.keil.com/dd/docs/datashts/ti/tm4c123/tm4
c123gh6pm.pdf
 TI-RTOS User guide http://www0.egr.uh.edu/Courses/ECE/ECE4437/labsup
port/TI-RTOS/spruhd4f_TIRTOS_UG_2.0.pdf