Top Banner
GPIO Tiva C® Series Raul Cabrera Khaldon Batnij Isaac Zavala
12

GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

Dec 22, 2015

Download

Documents

Lily Griffin
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

GPIOTiva C® Series

Raul CabreraKhaldon BatnijIsaac Zavala

Page 2: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

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

Introduction to GPIO

Page 3: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

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

General Information

Page 4: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

TM4C123GH6PM I/O pins

Page 5: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

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.

GPIO Driver

Page 6: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

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()

EK_TM4C123GXL.c

Page 7: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

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.

APIs

Page 8: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

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

PinMux

Page 9: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

Example

Page 10: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

Example

Page 11: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

Questions?

Page 12: GPIO Tiva C ® Series Raul Cabrera Khaldon Batnij Isaac Zavala.

TM4C123GH6PM Data sheet - http://www.keil.com/dd/docs/datashts/ti/tm4c123/tm4c123gh6pm.pdf

TI-RTOS User guide- http://www0.egr.uh.edu/Courses/ECE/

ECE4437/labsupport/TI-RTOS/spruhd4f_TIRTOS_UG_2.0.pdf

References and further reading