Mi duda no es tanto en cómo programarlo , sino más bien en cómo hacerlo funcionar.
Me explico, algo se me escapa.
Yo programo, compilo, meto al pic el hexadecimal con el mplab y... no va.
No sé si es por el watchdog, no creo, pero es que no sé ponerle.
¿Debo tener en cuenta algo con el mplab?, cuando lo uso lo programo por como viene por defecto y ya está.
Por eso pido ayuda a ver qué me podeis comentar.
El programa en cuestión es bastante sencillo, una comunicación en paralelo con un DAC.
#include <16F870.h>
#fuses HS,NOWDT,NOWRT,NOLVP,NOPUT,NOPROTECT,NOBROWNOUT
#use delay(clock=20000000)
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)
void main()
{
byte e0, e1, e2;
int nivel, estado;
int const tension[6]={0xCE,0xC0,0xB3,0xA8,0x9E,0x86};
set_tris_a(0xFF);
set_tris_b(0x00);
set_tris_c(0x00);
output_b(0x00);
output_c(0x00);
nivel=0x00;
estado=0x80;
e0=input(PIN_A0);
e1=input(PIN_A1);
e2=input(PIN_A2);
while(TRUE)
{
if(input(PIN_A0)!=e0)
{
estado=tension[nivel];
output_c(estado);
output_b(nivel);
nivel++;
if (nivel==6) { nivel=0; }
e0=input(PIN_A0);
}
if(input(PIN_A1)!=e1)
{
estado++;
output_c(estado);
output_b(estado);
e1=input(PIN_A1);
}
if(input(PIN_A2)!=e2)
{
estado--;
output_c(estado);
output_b(estado);
e2=input(PIN_A2);
}
}
}
Gracias.