Buenas tardes a todos, estoy empezando a aprender a programar pic's en C. He comenzado con varios programas básicos de este foro y me surge la siguiente duda: que diferencia existe entre "char" y "signed char", ya que al cambiarlo en el siguinte programa la forma de actuar es muy difente:
#include <16f648a.h> //pic a utilizar
#fuses XT,NOWDT,NOPROTECT,PUT,NOLVP //ordenes para el programador
#use delay (clock=4000000) //Fosc=4Mhz
#use standard_io(B) //puerto B
///PROGRAMA
void main(void)
{
signed char i; //variable indice
int leds[4]={0b10000001,0b01000010,0b00100100,0b00011000}; //led's
set_tris_b(0x00); //portb como salida
disable_interrupts(GLOBAL); //todas las interrupciones desactivadas
do{ //bucle...
for(i=0;i<4;i++){ //led's on fuera-dentro
output_b(leds); //ilumino led's correspondientes
delay_ms(100);
}
for(i=3;i>-1;i--){ //led's on dentro-fuera
output_b(leds); //ilumino led's correspondientes
delay_ms(100);
}
}while(TRUE); //...infinito
}
para que funcione correctamente debe de ponerse "signed char" ¿porqué?
Gracias a todos de antemano