Autor Tema: RS-232+pic16f877A+mikro C pro para control led.  (Leído 1326 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado yamilongiano

  • PIC10
  • *
  • Mensajes: 37
RS-232+pic16f877A+mikro C pro para control led.
« en: 29 de Abril de 2015, 16:42:52 »
hola a todos he cambiado de lenguaje al mikro C pro.  pero me he encontrado con el problema que soy un newbie jajajaj. bueno aunque la logica es la misma que en el otro lenguaje parece que no manejo adecuadamente las variables, falta mas experiencia en C.



les presento mi codigo, pero no logro hacer funcionar los IF

Código: [Seleccionar]

char a;
unsigned char  Temp,txt;

 void newline(){
 UART1_Write(13); // Carriage Return
 UART1_Write(10); // Line Feed
}
void main() {
  // ANSEL  = 0;                     // Configure AN pins as digital
  // ANSELH = 0;
  TRISA=0b000111;

  UART1_Init(9600);               // Initialize UART module at 9600 bps
  Delay_ms(100);                  // Wait for UART module to stabilize
  newline();
  UART1_Write_Text(" --------");
  newline();
  UART1_Write_Text("| RS-232 |");
  newline();
  UART1_Write_Text(" --------");
  newline();
  UART1_Write(10);
  UART1_Write(13);


  while (1) {                                // Endless loop
              UART1_Write_Text("prender led ");
              newline();
              UART1_Write_Text("ingrese a o b: ");


  while(!UART1_Data_Ready());
  Temp = UART1_Read();
  newline();
  UART1_Write_Text("ingresaste: ");
  UART1_Write(Temp);
  newline();
  Delay_ms(800);

  if(temp==a){
               PORTA.B3=1;
               Temp=0;
              }
   if(temp==b){
               PORTA.B3=0;
               Temp=0;
              }
}}



lo que quiero lograr es bastante simple solo quiero enceder el led al enviar una letra por teclado. el programa compila bien. pero no enciende el led. osea que no se cumplen las condiciones de los if. si pongo el codigo PORTA.B3=1; fuera de los IF el led prende sin ningun problema.

tambien me envia los mensajes


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: RS-232+pic16f877A+mikro C pro para control led.
« Respuesta #1 en: 29 de Abril de 2015, 23:55:11 »
Tal ves el error esta en:

if(temp==a){

por

if(Temp=='a'){
« Última modificación: 30 de Abril de 2015, 00:47:56 por KILLERJC »

Desconectado yamilongiano

  • PIC10
  • *
  • Mensajes: 37
Re: RS-232+pic16f877A+mikro C pro para control led.
« Respuesta #2 en: 30 de Abril de 2015, 01:19:39 »
ese era el problema me di cuenta despues un gustaso y muchas gracias por la solucion. :-/ (error de novato)

ahora estoy jugando con un boton que presionado 1/2 segundo apague y al presionarlo encienda.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: RS-232+pic16f877A+mikro C pro para control led.
« Respuesta #3 en: 30 de Abril de 2015, 03:35:45 »
suele pasar, suerte con lo que estes haciendo  :)