Criando projeto no ambiente de desenvolvimento KDS – Parte 3

Prosseguindo com o tutorial na parte 3 iremos realizar o código utilizando a linguagem C.

Observe o código gerado pelo PE no arquivo “main.c”. A maioria das informações iremos retirar do código e deixando apenas o essencial para o funcionamento do microcontrolador.

O primeiro passo é manter as bibliotecas.

/*** Bibliotecas ***/
#include "Cpu.h"
#include "Events.h"
#include "Pins1.h"
#include "LedBlue.h"
#include "BitIoLdd1.h"
#include "LedGreen.h"
#include "BitIoLdd2.h"
#include "LedRed.h"
#include "BitIoLdd3.h"
#include "SW2.h"
#include "BitIoLdd4.h"
#include "PE_Types.h"
#include "PE_Error.h"
#include "PE_Const.h"
#include "IO_Map.h"
#include "PDD_Includes.h"
#include "Init_Config.h"

A seguir iremos criar uma função Delay para acionamento dos leds por determinado tempo.

/*** Protótipos de funções ***/
void delay (unsigned int valor);


// Funções
void delay (unsigned int valor){

   unsigned int i = 0;

   for (i=0;i<10*valor;i++);
}

A função “PE_low_level_init” deve ser mantida na função principal e criaremos uma variável local para ser o valor do Delay quando pressionado a chave SW2.

/*** Função principal ***/
int main(void)
{

    /*** Variáveis Locais ***/
    unsigned int valueDelay = 0;

    /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/
    PE_low_level_init();
}

O próximo passo é criar o loop infinito dentro da função “main” e então iremos ler a chave SW2. Onde:

  • SW2 = 1 => valueDelay = 100000
  • SW2 = 0 =>  valueDelay = 300000

Abaixo é apresentado o código:


 /* Write your code here */
 for (;;){

     // Lê a chave SW2
     if (SW2_GetVal())
        valueDelay = 100000;
     else
        valueDelay = 300000;
}

Os leds são habilitado em nível lógico baixo (0) e desabilitado em nível lógico alto (1). Logo utilizaremos a função gerada pelo PE, SetVal e ClrVal.

Exemplo: Para acender e apagar o led vermelho será:

// Acender o Led Vermelho
LedRed_ClrVal();

// Apagar o Led Vermelho
LedRed_SetVal();

Abaixo segue o exemplo completo para o tutorial. Onde pressionando a chave SW2 altera o tempo de acionamento dos leds.

/*** Bibliotecas ***/
#include "Cpu.h"
#include "Events.h"
#include "Pins1.h"
#include "LedBlue.h"
#include "BitIoLdd1.h"
#include "LedGreen.h"
#include "BitIoLdd2.h"
#include "LedRed.h"
#include "BitIoLdd3.h"
#include "SW2.h"
#include "BitIoLdd4.h"
#include "PE_Types.h"
#include "PE_Error.h"
#include "PE_Const.h"
#include "IO_Map.h"
#include "PDD_Includes.h"
#include "Init_Config.h"

/*** Protótipos de funções ***/
void delay (unsigned int valor);


/*** Função principal ***/
int main(void)
{

   /*** Variáveis Locais ***/
   unsigned int valueDelay = 0;

   /*** Processor Expert internal initialization. DON'T REMOVE THIS CODE!!! ***/
   PE_low_level_init();

   // Desliga todos os leds
   LedRed_SetVal();
   LedGreen_SetVal();
   LedBlue_SetVal();


   /* Write your code here */
   // Loop Infinito
   for (;;){


     // Lê a chave SW2
     if (SW2_GetVal())
       valueDelay = 100000;
     else
       valueDelay = 300000;


     /*** Acionamento dos Leds ***/
     // Aciona Led Vermelho (Red)
     LedRed_ClrVal();
     delay(valueDelay);

     // Aciona Led Verde (Green)
     LedRed_SetVal();
     LedGreen_ClrVal();
     delay(valueDelay);

     // Aciona Led Azul (Blue)
     LedGreen_SetVal();
     LedBlue_ClrVal();
     delay(valueDelay);

     LedBlue_SetVal();

 }

}

// Funções
void delay (unsigned int valor){

  unsigned int i = 0;

  for (i=0;i<10*valor;i++);
}

A seguir iremos compilar o projeto. No menu clicar em “Project => Build Project” conforme mostra a figura abaixo:

Figura 01
Figura 01: Compilar o projeto.

Após o fim da compilação se escreveu corretamente o código não haverá erros de acordo com a figura abaixo:

Figura 02
Figura 02: Compilação sem erros.

A seguir é só gravar o arquivo “.elf” no microcontrolador.

Muito Obrigado e até o próximo tutorial.

<=PARTE 2

 

 

Anúncios

Um comentário sobre “Criando projeto no ambiente de desenvolvimento KDS – Parte 3

  1. Pingback: Criando projeto no ambiente de desenvolvimento KDS – Parte 2 | AGE TECHNOLOGY

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s