Microprocessadores Tópicos Esp. em Eletrônica Industrial

Documentos relacionados
Microprocessadores Tópicos Esp. em Eletrônica Industrial

Microprocessadores Tópicos Esp. em Eletrônica Industrial

Microprocessadores Tópicos Esp. em Eletrônica Industrial

Microprocessadores Tópicos Esp. em Eletrônica Industrial

PSI3441 Arquitetura de Sistemas Embarcados

Microprocessadores Tópicos Esp. em Eletrônica Industrial

1. CONFIGURAÇÃO DO PINO

RTC Real Time Counter e Pinos do JM60

Prof. Gabriel Kovalhuk

EL08D - MICROCONTROLADORES

Sistemas Digitais e Microcontrolados

Introdução ao Microcontrolador PIC

Sistemas Digitais e Microcontrolados

Curso de Microcontroladores PIC 16F84A

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio 2016

Sistemas Embebidos I , Tiago Miguel Dias ISEL, ADEETC - Secção de Eletrónica e Telecomunicações e de Computadores

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSOS DE ENGENHARIA E TECNOLOGIA DAELT

ET53C - SISTEMAS DIGITAIS

AAAA AAAA SEL Aplicação de Microprocessadores I. Aula 5 Temporização e Interrupção. Marcelo Andrade da Costa Vieira

Objetivos MICROCONTROLADORES HARDWARE. Aula 03: Periféricos. Prof. Mauricio. MICRO I Prof. Mauricio 1. Arquitetura de um Microcontrolador

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio 2016

Arquitetura do Microcontrolador Atmega 328

Microcontroladores PIC

1.2 Registradores relacionados as Interrupções. 3. TOSE Sentido da transição da borda do sinal aplicado am TMR0

Jadsonlee da Silva Sá

AAAASEL 0629 AAAA. Aplicação de Microprocessadores I. Prática 2 Teclado e Buzzer. Prof. Marcelo Andrade da Costa Vieira

INTRODUÇÃO AO ARDUINO DUE, CANAL DIGITAL, FUNÇÃO DELAY

Sistemas Embutidos Prática. Prof. Marcos Augusto Menezes DCC/ /UFMG

Portas de entrada e saída; Interrupções; Interrupções externas; Temporizadores Contadores; Interface Serial

Por Fernando Koyanagi

Interrupções do Interrupções Gabriel Kovalhuk. UTFPR DAELN - Tecnologia em Mecatrônica Industrial

KIT DIDÁTICO PARA MICROCONTROLADORES ARM7 - FAMÍLIA LPC 214X

MICROCONTROLADORES 2 EL08D - TURMA M12

Programa Trainee 2012 Módulo 4 Microcontroladores AVR

SISTEMAS EMBARCADOS Arquitetura ARM Cortex-M3

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

Tutoriais PET-Tele. Introdução à Amostragem de Sinais com o kit Arduino (Versão: A2016M06D21)

Estrutura Básica de um Computador

ENG-1450 Microcontroladores e Sistemas Embarcados. Lab03 Execução Experiência 01, Keypad, 7-seg, Exercícios

Sistemas Embarcados:

Descrição dos pinos de entrada e saída e de funções especiais. Descrição dos modos de acesso: individual e por porto

Sistemas Microprocessados

Conversor Analógico Digital do MSP430G2553

Sistemas Microcontrolados

Manual Técnico MS04A-TS

Sistemas Microprocessados

Microcontrolador 8051:

PSI2662 Projeto em Sistemas Eletrônicos Embarcados: Sensores e Atuadores. Apresentação do Kit Freescale Freedom FDRM-KL25Z e Portas de Entrada e Saída

16F628A - The Configuration Word Jon Wilder 25 de agosto de 2011.

Sistemas Embarcados:

EL08D - MICROCONTROLADORES

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSOS DE ENGENHARIA E TECNOLOGIA DAELT

Nome Endereço IRQ COM1 3F8 4 COM2 2F8 3 COM3 3E8 4 COM4 2E UART - Universal Asynchronous Receiver/Transmitter. descrição

Plano de Aula. 1 o semestre. Aula número 010 Interrupções Internas Timers. Uso de interrupções internas produzidas pelos timers

Binário para Decimal. Binário: = 19. Decimal:

Registros do 16F628A. Prof. Luiz Antonio Vargas Pinto Prof. Vargas

Sistema Digitais. Bacharelado de Informática UEM DIN - Prof. Elvio 2017

Microcontrolador 8051

Grupo de Robótica Experimental do Instituto Militar de Engenharia. Microcontroladores STM32 ARM Cortex-M3 Aula 04 Periféricos II

UTFPR Departamento Acadêmico de Eletrônica Curso Técnico em Eletrônica Microcontroladores 1 - Prof. Cion nov/2010 (atualizado em jul 2015)

3. Revisão de Eletrônica Digital

Experiência. Montagem Kit Didático. 2. Turma: Nota: 5. MICRO-I Prof. Mauricio. Identificação dos Alunos:

Programação em Linguagem C

High Performance Programmable DMA Controller 8237A, 82237

Capítulo 14. Expandindo as portas de comunicação 8031 com a PPI Interface PPI 8255

Disciplina de. Organização de Computadores Digitais

Memórias Parte 1. SEL-0415 Introdução à Organização de Computadores. Aula 4. Prof. Dr. Marcelo Andrade da Costa Vieira

Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina. Temporização Interrupções Rotinas de Atraso

29/03/2017. Temporização da CPU SEL-433 APLICAÇÕES DE MICROPROCESSADORES I. Ciclos de Máquina. Ciclos de Máquina

Programação ARM. Engenharia de Sistemas Embarcados Prof. Abel Guilhermino

Sistemas Microcontrolados

Prof. Amauri Assef. UTFPR Campus Curitiba 1

SISTEMAS EMBARCADOS. Controle de Kernel, gerenciamento de Threads e funções de espera. Prof. André Schneider de Oliveira

Prof. Adilson Gonzaga

Interrupções e DMA. Mecanismos de I/O

of Arduino Slide: Bruno Aricó

Temporização Interrupções. Prof: Evandro L. L. Rodrigues. Rotinas de Atraso

Enviando Dados Pela Porta Serial na placa LaunchPad MSP430 Utilizando o ambiente ENERGIA

ELE Microprocessadores I

Sistemas Digitais e Microcontrolados

Técnicas de Interface com Microcontroladores (8051)

Discentes: Weverton Lima e Juliete Souza Disciplina: Sistemas Embarcados Professor Orientador: Ilton Barbacena

PROJETO EM REDES DE SENSORES (TET 0020) ROTEIRO PARA CONFIGURAÇÃO DOS MÓDULOS XBEE

PROGRAMA DA DISCIPLINA

Disciplina de Organização de Computadores I

SEL0338 Tópicos Especiais em Sistemas Digitais

Roteiro do 3º Experimento: Programação do CLP Siemens S7-1200

A placa descrita pode receber alimentação pela conexão USB ou por uma fonte de alimentação externa.

Bravas shield sample app 2017

Aula Expositiva 03. DCC 001 Programação de Computadores 2 o Semestre de 2011 Prof. Osvaldo Carvalho DCC

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

MSP 430 Lab 04 Fontes de clock e configuração das entradas e saídas digitais

INTRODUÇÃO: MICROCONTROLADORES

Memórias. EL68E Sistemas Embarcados. Tecnologias de Memórias. Conceitos. Profs. Douglas Renaux e Hugo Vieira Neto

Laboratório de Microprocessadores e Microcontroladores

Arquitetura de Computadores. Prof. João Bosco Jr.

Transcrição:

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ - UTFPR DEPARTAMENTO ACADÊMICO DE ELETROTÉCNICA - DAELT CURSO DE ENGENHARIA INDUSTRIAL ELÉTRICA MESTRADO EM SISTEMAS DE ENERGIA - PPGSE Microprocessadores Tópicos Esp. em Eletrônica Industrial - amauriassef@utfpr.edu.br paginapessoal.utfpr.edu.br/amauriassef 1

Introdução ao TivaWare, Inicialização e GPIO (Texas Instruments www.ti.com) 2

Configuração do clock É o 1º passo de um projeto de firmware utilizando a TivaWare Peripheral Driver Library 3

Árvore de clock principal 4

Configurar o clock do sistema para rodar a partir de um cristal de 16 MHz como oscilador principal Com o PLL (Phase-Locked Loop), a frequência do VCO (Voltage-controlled Oscillator) de 400 MHz oscila somente neste valor, utilizando cristais de 5 a 25 MHz Existe um divisor padrão por 2 no caminho do clock, derivando o sinal de 200 MHz A partir deste valor, é possível gerar outras frequências Função SysCtlClockSet (uint32_t ui32config), onde ui32config é o parâmetro de configuração com 32 bits 5

Exemplos // Setup the system clock to run at 50 MHz from PLL with crystal reference SysCtlClockSet(SYSCTL_SYSDIV_4 SYSCTL_USE_PLL SYSCTL_XTAL_16MHZ SYSCTL_OSC_MAIN) // Setup the system clock to run at 80 MHz from PLL with crystal reference SysCtlClockSet(SYSCTL_SYSDIV_2_5 SYSCTL_USE_PLL SYSCTL_XTAL_16M HZ SYSCTL_OSC_MAIN) 6

Técnicas de manipulação de bits ( -OU e &-E) Processo para atribuir valores em apenas alguns bits diretamente em variáveis/registros //Exemplo: variavel_teste = 0b0001 0100; // Atribuição na base binária variavel_teste = 0x14; // Atribuição na base hexadecimal variavel_teste = 20; // Atribuição na base decimal O modo de escrita de setar um bit é realizado pela operação OU com uma constante com todos os bits em nível 0, exceto o bit que se deseja setar O modo para limpar um bit é realizado pela operação E com uma constante com todos os bits em 1, exceto o bit que se deseja limpar 7

Exemplo para setar e limpar bits: 1) Setar os bits 3 e 7 do byte Reg: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Reg 0 0 0 1 0 0 1 0 OU( ) 1 0 0 0 1 0 0 0 Reg 1 0 0 1 1 0 1 0 Equação: Reg = (1<<3) (1<<7); ou Reg = (0x04 0x80); 2) Limpar os bits 6 e 1 do byte Reg: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Reg 1 1 0 1 1 0 1 0 E (&) 1 0 1 1 1 1 0 1 Reg 1 0 0 1 1 0 0 0 Equação: Reg &= ~((1<<1) (1<<6)); ou Reg &= ~(0x02 0x40); 8

Para identificar o valor de um ou mais bits diretamente em variáveis/registros realizar uma operação & somente com o(s) bit(s) de interesse setados Exemplo: Verificar se o bit 6 do byte Reg está setado Aplicação: Var = Reg & (1<<6); if (Var == 0) {} else {} Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Reg 0 0 0 1 0 0 1 0 & 0 1 0 0 0 0 0 0 Var 0 0 0 0 0 0 0 0 9

Configuração do GPIO (General Purpose I/O) No TM4C123GH6PM, os pinos de entrada e saída de propósito geral, comumente denominados de General- Purpose Input-Outputs (GPIOs), são divididos em seis blocos físicos GPIO: Porta A, Porta B, Porta C, Porta D, Porta E e Port F Antes de chamar qualquer função específica da driverlib (TivaWare Peripheral Driver Library), devemos habilitar o clock para o periférico Caso o clock não seja habilitado, será gerado um novo serviço de interrupção (ISR - Interrupt Service Routine) Fault (endereço fault) 10

Tiva C LaunchPad board Pinos dos LEDs e chaves Função SysCtlPeripheralEnable (uint32_t ui32peripheral), onde ui32peripheral é o periférico a ser habilitado 11

Os registradores para controle de clock dos periféricos são os Run Mode Clock Gating Control Register 0 a 3 (RCGC0 RCGC3) 12

Deve-se esperar alguns ciclos de clock (3 a 6) para iniciar o acesso aos periféricos // Exemplo de habilitação do periférico GPIO Port F // Enable and wait for the port to be ready for access SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); while(!sysctlperipheralready(sysctl_periph_gpiof)) { } // Exemplo sem o TivaWare volatile uint32_t delay = 0; // dummy variable /* Enable the clock on PORTF */ SYSCTL_RCGC2_R = 0x00000020; // 1) F clock delay = SYSCTL_RCGC2_R; // delay - ensure clock 13

Pode-se utilizar a função de atraso SysCtlDelay (uint32_t ui32count), sendo que cada unidade do ui32count representa 3 ciclos de clock (1/80MHz) // Exemplo de habilitação do periférico GPIO Port F // Atraso de 9 ciclos de clock SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); SysCtlDelay(3); Obs: SYSCTL_PERIPH_GPIOx, onde x é a letra do GPIO entre A e F 14

Características do módulo GPIO: Até 43 pinos programáveis de entrada/saída (E/S), dependendo da configuração; Configuração de entrada tolerante à 5 V (exceto os pinos PD4, PD5, PB0 e PB1, que são limitados a 3,6 V) Portas A à G acessíveis através de Barramento Avançado de Periférico (APB - Advanced Peripheral Bus) Rápida capacidade de inversão de nível a cada ciclo de clock nas portas AHB (Advanced High Perfomance Bus), e a cada dois ciclos para portas APB (usada para economia de energia) Controle programável de interrupções do GPIO Geração de interrupção mascarável Sincronismo por boda de subida, descida ou ambas Sensível à nível de valores alto ou baixo 15

Máscara de bit em ambas as operações de leitura e escrita através de linhas de endereço Pode ser usado para iniciar uma sequência de amostragem do ADC ou uma transferência do módulo µdma Pode manter o estado do pino durante o modo de Hibernação Pinos configurados como entradas digitais com Schmitttrigger Controle programável de configuração do pad GPIO Resistores de pull-up ou pull-down (valor nominal de 20 kω) Driver de corrente de 2 ma, 4 ma e 8 ma para comunicação digital; até quatro pinos podem drenar 18 ma para aplicações de alta corrente Controle de slew rate para pad de 8mA Habilitação de dreno aberto/habilitação de entrada digital 16

Ferramenta Cloud - PinMux: Allows the user to graphically configure the device pin-out Generates source and header files for use with any of the supported IDE s https://dev.ti.com/ 17

Ferramenta Cloud - PinMux: 18

Critical Function GPIO Protection Six pins on the device are protected against accidental programming: PC3,2,1 & 0: JTAG/SWD e PD7 & PF0: NMI Any write to the following registers for these pins will not be stored unless the GPIOLOCK register has been unlocked: GPIO Alternate Function Select register GPIO Pull Up or Pull Down select registers GPIO Digital Enable register The following sequence will unlock the GPIOLOCK register for PF0 using direct register programming: HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY; HWREG(GPIO_PORTF_BASE + GPIO_O_CR) = 0x01; HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0; #include "inc/hw_gpio.h" Reading the GPIOLOCK register returns it to lock status GPIO_PORTF_LOCK_R = 0x4C4F434B; // Desbloqueio do GPIO_PORTF_CR_R = 0x1F; // pino PF0. 19

Os sinais GPIO possuem funções de hardware alternadas (alternativas analógicas e digitais) As funções de hardware alternativo digital são habilitadas definindo o bit apropriado nos registradores GPIO Alternate Function Select (GPIOAFSEL) e GPIO Digital Enable (GPIODEN) e configurando o campo de bits PMCx, no registro GPIO Port Control (GPIOPCTL) 20

Ferramenta Cloud - PinMux: 21

Pinos Digitais 22

Mapa de endereços GPIO Port A (APB): 0x4000.4000 GPIO Port A (AHB): 0x4005.8000 GPIO Port B (APB): 0x4000.5000 GPIO Port B (AHB): 0x4005.9000 GPIO Port C (APB): 0x4000.6000 GPIO Port C (AHB): 0x4005.A000 GPIO Port D (APB): 0x4000.7000 GPIO Port D (AHB): 0x4005.B000 GPIO Port E (APB): 0x4002.4000 GPIO Port E (AHB): 0x4005.C000 GPIO Port F (APB): 0x4002.5000 GPIO Port F (AHB): 0x4005.D000 23

Exemplo de configuração 24

Descrição dos registros de GPIO: GPIODIR (GPIO Data Direction) usado para configurar cada pino individual com entrada ou saída Valor Descrição 0 O pino correspondente é entrada 1 O pino correspondente é saída GPIODATA: cada porta de GPIO possui um endereço base e todos os 8 bits pode ser modificados. Entretanto, para modificar bits específicos é possível utilizar uma máscara de bits. Isto é realizado em hardware, mapeando as portas de GPIO para 256 endereços, através dos bits [9:2] do barramento de endereço, usado como máscara. Dessa maneira, os drivers de software podem modificar os pinos de GPIO individualmente sem afetar o estados de outros pinos. Este método é mais eficiente que as operações readmodify-write para setar ou limpar um pino GPIO 25

GPIO Address Masking O registrador que queremos mudra é o GPIO Port A (0x4005.8000) O conteúdo atual do registro é: O valor a ser escrito é 0xEB: GPIO Port A (0x4005.8000) 0 0 0 1 1 1 0 1 Write Value (0xEB) 1 1 1 0 1 0 1 1 Ao invés de escrever diretamente no GPIO Port A, escrever no 0x4005.8098. Os bits 9:2 (mostrados aqui) tornam-se a máscara de bits para o valor a ser escrito. 0 0 0 0 0 1 0 0 1 1 0 0 0 Apenas os bits marcados como 1 na máscada de bits são alterados. 0 0 1 1 1 0 1 1 New value in GPIO Port A (note that only the red bits were written) GPIOPinWrite(GPIO_PORTA_BASE, GPIO_PIN_5 GPIO_PIN_2 GPIO_PIN_1, 0xEB); 26

GPIODR2R (GPIO 2-mA Drive Select) Valor Descrição 0 O drive para o GPIO correspondente é controlado pelo registro GPIODR4R ou GPIODR8R 1 O GPIO correspondente possui drive de 2 ma (entrada) GPIODR4R (GPIO 4-mA Drive Select) Valor Descrição 0 O drive para o GPIO correspondente é controlado pelo registro GPIODR2R ou GPIODR8R 1 O GPIO correspondente possui drive de 4 ma (entrada) GPIODR8R (GPIO 8-mA Drive Select) Valor Descrição 0 O drive para o GPIO correspondente é controlado pelo registro GPIODR2R ou GPIODR4R 1 O GPIO correspondente possui drive de 8 ma (entrada) 27

GPIOAFSEL (GPIO Alternate Function Select) Valor Descrição 0 Configura o respectivo pino como GPIO 1 Configura o GPIO para uma função associada à periférico GPIOPCTL (GPIO Port Control): usado para selecionar uma das possíveis funções alternativas (0 a 15) 28

GPIOODR (GPIO Open Drain Select) Valor Descrição 0 Desabilitada o pino correspondente como dreno aberto 1 Habilita o pino correspondente como dreno aberto GPIOPUR (GPIO Pull-Up Select) Valor Descrição 0 Desabilita o resistor fraco de pull-up correspondente 1 Habilita o resistor fraco de pull-up correspondente GPIOPDR (GPIO Pull-Down Select) Valor Descrição 0 Desabilita o resistor fraco pull-down correspondente 1 Habilita o resistor fraco pull-down correspondente 29

GPIOSLR (GPIO Slew Rate Control Select) Valor Descrição 0 Desabilitada o controle de slew rate no pino correspondente 1 Habilitada o controle de slew rate no pino correspondente GPIODEN (GPIO Digital Enable) Valor Descrição 0 Desabilitada as funções digitais para o pino correspondente 1 Habilitada as funções digitais para o pino correspondente GPIOLOCK (GPIO Lock) Valor Descrição 0 O registro GPIOCR está travado e não pode ser modificado 1 O registro GPIOCR está destravado e pode ser modificado 30

GPIOCR (GPIO Commit) Valor Descrição 0 Os registros GPIOAFSEL, GPIOPUR, GPIOPDR, ou GPIODEN não podem ser modificados 1 Os registros GPIOAFSEL, GPIOPUR, GPIOPDR, ou GPIODEN podem ser modificados GPIOAMSEL (GPIO Analog Mode Select) Valor Descrição 0 Desabilita a função analógica e a isolação é habilitada (p/ GPIO em 5V) 1 Habilita a função analógica e a isolação é desabilitada 31

Configuração pelo TivaWare GPIOPinTypeGPIOOutput(uint32_t ui32port, uint8_t ui8pins) Função para configurar um pino da GPIO como saída, onde o parâmetro ui32port representa o PORT a ser configurado e o ui8pins o pino GPIOPinTypeGPIOInput(uint32_t ui32port, uint8_t ui8pins) Função onde um pino da GPIO do microcontrolador é configurado como entrada GPIOPadConfigSet(uint32_t ui32port, uint8_t ui8pins, uint32_t ui32strength, uint32_t ui32pintype) Função que configura as portas de entrada, onde o parâmetro ui32strength representa a corrente máxima a ser permitida pelo pino e o parâmetro ui32pintype configura se o pino terá Pull-Up, Pull-down ou Coletor Aberto 32

Exemplo de configuração de GPIO com o TivaWare //Configuração da GPIO F SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1 GPIO_PIN_2 GPIO_PIN_3); GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_4 GPIO_PIN_0); GPIOPadConfigSet(GPIO_PORTF_BASE,GPIO_PIN_0 GPIO_PIN_4, GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU); O exemplo acima configura os pinos PF1, PF2 e PF3 como saída (LED RGB da Launchpad), e os pinos PF0 e PF4 como entrada (dois botões da Launchpad). Além disso, nos pinos PF0 e PF4, permitem uma corrente de até 2 ma de entrada e configurados com pull-up Fonte: Introdução aos microcontroladores ARM Cortex-M4 Tiva C Series da Texas Instruments, Stéfano Andrade de Souza, Março de 2015 33

Exemplo de configuração de GPIO sem o TivaWare /* Enable the clock on PORTF */ SYSCTL_RCGC2_R = 0x00000020; delay = SYSCTL_RCGC2_R; // 1) F clock // delay - ensure clock /* configure other registers */ GPIO_PORTF_LOCK_R = 0x4C4F434B; // 2) unlock PortF PF0 GPIO_PORTF_CR_R = 0x1F; // allow changes to PF4-0 GPIO_PORTF_AMSEL_R = 0x00; // 3) disable analog function GPIO_PORTF_PCTL_R = 0x00000000; // 4) GPIO clear bit PCTL GPIO_PORTF_DIR_R = 0x0E; // 5) PF4,PF0 input, PF3,PF2,PF1 output GPIO_PORTF_AFSEL_R = 0x00; // 6) no alternate function GPIO_PORTF_PUR_R = 0x11; // enable pullup resistors on PF4,PF0 GPIO_PORTF_DEN_R = 0x1F; // 7) enable digital pins PF4-PF0 Fonte: Introdução aos microcontroladores ARM Cortex-M4 Tiva C Series da Texas Instruments, Stéfano Andrade de Souza, Março de 2015 34

Funções de escrita e leitura em GPIO GPIOPinRead(uint32_t ui32port, uint8_t ui8pins) Função que retorna se o pino selecionado está em nível lógico alto ( 1 ) ou baixo ( 0 ). Esta função retorna o valor do pino referente a sua posição no byte do PORT verificado. Por exemplo: PIN0 ativo = 00000001, PIN1 ativo = 00000010, seguindo até PIN7 ativo 10000000 GPIOPinWrite(uint32_t ui32port, uint8_t ui8pins, uint8_t ui8val) Função que envia nível lógico alto ( 1 ) ou nível lógico baixo ( 0 ) para o pino do PORT. 35

Exemplo de utilização das funções de entrada e saída de GPIO //Retorna o endereço, ou valor, do PIN_4 do PORTF caso 1. GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_4); //Aciona somente o PIN_2 do PORTF GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1 GPIO_PIN_2 GPIO_PIN_3,GPIO_P IN_2); 36

Definição da posição de bits //*************************************************************** // // The following values define the bit field for the ui8pins argument to several of the APIs. // //*************************************************************** #define GPIO_PIN_0 0x00000001 // GPIO pin 0 #define GPIO_PIN_1 0x00000002 // GPIO pin 1 #define GPIO_PIN_2 0x00000004 // GPIO pin 2 #define GPIO_PIN_3 0x00000008 // GPIO pin 3 #define GPIO_PIN_4 0x00000010 // GPIO pin 4 #define GPIO_PIN_5 0x00000020 // GPIO pin 5 #define GPIO_PIN_6 0x00000040 // GPIO pin 6 #define GPIO_PIN_7 0x00000080 // GPIO pin 7 37

Referências Main page: www.ti.com/launchpad Tiva C Series TM4C123G LaunchPad: http://www.ti.com/tool/ek-tm4c123gxl TM4C123GH6PM folder: http://www.ti.com/product/tm4c123gh6pm LaunchPad Wiki: www.ti.com/launchpadwiki Valvano, Jonathan. Embedded Systems (Introduction to Arm\xae Cortex\u2122-M Microcontrollers) (p. 260). Jonathan Valvano. E Microcontroladores ARM7 (Philips - Família LPC213x) : O poder dos 32 Bits - teoria e prática / Daniel Rodrigues de Sousa Microcontroladores ARMTM CortexTM-M3 (família LPC175x/6x da NXP) : Programação em linguagem C / Alberto Noboru Miyadaira Introdução aos microcontroladores ARM Cortex-M4 Tiva C Series da Texas Instruments, Stéfano Andrade de Souza, Março de 2015 38