Utilizando o CMSIS nas aplicações
#include <stdint.h>
#include "MKL25Z4.h"
#define LED_PIN 18
#define RED_MASK (1 << (LED_PIN))
void redon(void){
//ativar o bit 18 do registrador PCOR.
//GPIOB->PCOR = (RED_MASK);
//ou desativar somente o bit 18 do registrador PDOR
GPIOB->PDOR = GPIOB->PDOR & ~(RED_MASK);
}
void redoff(void){
//ativar o bit 18 do registrador PSOR.
//GPIOB->PSOR = (RED_MASK);
//ou ativar somente o bit 18 do registrador PDOR
GPIOB->PDOR = GPIOB->PDOR | (RED_MASK);
}
void init_gpio(void){
//ativar somente o bit 10 do registrador SCGC5.
SIM->SCGC5 = SIM->SCGC5 | (SIM_SCGC5_PORTB_MASK);
//ativar o bit 8 do registrador PORTB_PCR18
PORTB->PCR[LED_PIN] = PORT_PCR_MUX(1);
//ativar o bit 18 do registrador PDDR
GPIOB->PDDR = (RED_MASK);
}
int main()
{
//configurações iniciais
init_gpio();
while(1){
//programa em loop infinito
redon();
redoff();
}
return 0;
}Last updated