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)))
Amigo você usa linguagem C ou é outra?
ResponderExcluirlinguagem C para microcontroladores tem algumas diferenças do C padrão, mas é C.
ResponderExcluir