quarta-feira, 20 de fevereiro de 2013

primeiro contato com o MPlabX :

     Voltei a usar microcontroladores PIC pois fiquei sabendo da nova IDE e dos compiladores gratuito(exceto versão standard e pro) da microchip, esses compiladores são MPlabXC8, MPlabXC16, MPlabXC32.
link para iniciantes :
 http://youtu.be/kbckQodNFmA

//////////////////////////////////////////////////////////////////////////////////////
/* 
 *                        primeiro programa 
 *   
 *Compilador:           MPlabXC8  
 *Microcontrolador:     12F675   
 *Autor:                aguivone
 *versão:               1
 *solução esperada :    pisca led 
 *
 */

#include <stdio.h>
#include <stdlib.h>
#include <xc.h>

#define _XTAL_FREQ 20000000    // 20 Mhz

// Configurações dos fuses 
#pragma config FOSC = HS        // Oscillator Selection bits (HS oscillator: High speed crystal/resonator on GP4/OSC2/CLKOUT and GP5/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-Up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF      // GP3/MCLR pin function select (GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF      // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF         // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)

void  main()
{
    TRISIO = 0X00;//Configura saida do 12F675
        for(;;)
        {
                   GPIO   = 0X00;
           __delay_ms(500);
                   GPIO   = 0XFF;
           __delay_ms(500);
        }
}



//////////////////////////////////////////////////////////////////////////////////////

considerações importantes:

    -> um detalhe interessante que deve ser ressaltado é quanto ao "mplab driver switcher" depois de instalado o MPlabX(e caso ainda tenha uma versão anterior instalada,"sugiro nem excluir" se vc usa ele com seu programador) vc deve abrir este programa e solicitar para que ele use o MPlabX.
    -> veja que a nova IDE não dá suporte a alguns programadores de PIC mais antigos,a solução é abrir o sua versão anterior ao MplabX e importar o arquivo hexadecimal gerado e então gravar usando seu programador de pic(no meu caso uso o pickit2 então nem preciso do MPlab antigo). 
    ->tem funções como a "__delay_ms()" que podem ficar como na imagem abaixo:



 ainda não sei bem o porque disto mas apenas ignorei e funcionou bem o programa de teste.

até o próximo post pessoal! 
Errata:
já sei por que do delay ficar assim,para resolver é só colocar(se quiser) os defines :

#define delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0))) 
#define delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))
        










2 comentários :

  1. Amigo você usa linguagem C ou é outra?

    ResponderExcluir
  2. linguagem C para microcontroladores tem algumas diferenças do C padrão, mas é C.

    ResponderExcluir

olá,digite aqui seu comentário!