Autor Tema: Posibles "bugs" del compilador de CCS  (Leído 252544 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re: Posibles "bugs" del compilador de CCS
« Respuesta #165 en: 13 de Agosto de 2013, 16:28:26 »
En velocidades tan bajas con ese cristal y HSPLL activo, no vas a comunicar bien...
Mira la hoja de datos de tu PIC y veras lo que digo.
CCS es bueno, pero no es magico !!
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Posibles "bugs" del compilador de CCS
« Respuesta #166 en: 22 de Agosto de 2013, 13:11:57 »
Hola compañeros, estoy probando la version 5.007 de CCs y tengo este codigo que no me funciona, me esta fallando en el set_tris_a (0x00) el cual no me configura dicho registro como salidas. A alguien mas le ha pasado o es error mio y no veo el fallo?
Código: CSS
  1. #include <16F873A.h>
  2. #fuses HS,NOWDT,NOPROTECT,NOLVP
  3. #use delay(clock=20000000)
  4. #use fast_io (A)
  5.  
  6. #define Red_Led pin_A0
  7.  
  8. void main ()
  9. {
  10.         set_tris_a (0x00);
  11.  
  12.         while(true)
  13.         {
  14.                 output_low (Red_Led);
  15.                 delay_ms (500);
  16.                 output_high (Red_Led);
  17.                 delay_ms (500);
  18.         }
  19. }


Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Posibles "bugs" del compilador de CCS
« Respuesta #167 en: 22 de Agosto de 2013, 14:05:25 »
Asegúrate de desactivar el ADC

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Posibles "bugs" del compilador de CCS
« Respuesta #168 en: 22 de Agosto de 2013, 14:18:10 »
A mi me funciona tal cual como esta  :mrgreen:
Revisa bien las conexiones pero a nivel de simulacion funciona perfecto, te adjunto el programa.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Posibles "bugs" del compilador de CCS
« Respuesta #169 en: 22 de Agosto de 2013, 15:42:35 »
Gracias a los dos, pero sigue sin funcionar ni real ni simulado, voy a probar otras opciones.

Saludos!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Posibles "bugs" del compilador de CCS
« Respuesta #170 en: 22 de Agosto de 2013, 16:38:25 »
Probaste simular el que te pase?

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Posibles "bugs" del compilador de CCS
« Respuesta #171 en: 22 de Agosto de 2013, 17:35:42 »
Hola RALF2 la verdad es que no porque no le veo diferencia con el mio, pero voy a probarlo, de todas modos probe de esta manera y tampoco funciona:
Código: CSS
  1. #include <16F873A.h>
  2. #fuses HS,NOWDT,NOPROTECT,NOLVP
  3. #use delay(clock=20000000)
  4. #byte trisa = 0x85              // TRISA en 85h
  5. #byte porta = 0x05              // PORTA en 05h
  6.  
  7. void main ()
  8. {
  9.         bit_clear(TRISA,0);             // A0 como salida
  10.         bit_clear(porta,0);             // Apaga led
  11.  
  12.         while(true)
  13.         {
  14.                 bit_set (porta,0);
  15.                 delay_ms (500);
  16.                 bit_clear(porta,0);
  17.                 delay_ms(500);
  18.         }
  19. }

Saludos!
« Última modificación: 22 de Agosto de 2013, 17:39:22 por Miquel_S »
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Posibles "bugs" del compilador de CCS
« Respuesta #172 en: 22 de Agosto de 2013, 17:46:45 »
Ok el que te coloque lo simule con el proteus y funciona bien  :mrgreen:
Pruebalo y nos comentas   :mrgreen:

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Posibles "bugs" del compilador de CCS
« Respuesta #173 en: 22 de Agosto de 2013, 18:01:33 »
Mismo perro pero diferente collar, probe como comenta Nocturno y tampoco:
Código: CSS
  1. #include <16F873A.h>
  2. #fuses HS,NOWDT,NOPROTECT,NOLVP
  3. #use delay(clock=20000000)
  4. #use fast_io (A)
  5.  
  6. #define Red_Led pin_A0
  7.  
  8. void main ()
  9. {
  10.         setup_adc_ports(NO_ANALOGS);
  11.         set_tris_a(0x00);
  12.  
  13.         while(true)
  14.         {
  15.                 output_low(Red_Led);
  16.                 delay_ms (500);
  17.                 output_high(Red_Led);
  18.                 delay_ms(500);
  19.         }
  20. }
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: Posibles "bugs" del compilador de CCS
« Respuesta #174 en: 22 de Agosto de 2013, 18:48:48 »
Al parecer es un bug, cambie de version y problema resuelto  :mrgreen:

Gracias.
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Micom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 783
Re: Posibles "bugs" del compilador de CCS
« Respuesta #175 en: 02 de Septiembre de 2013, 23:14:56 »
Ya he trabajado algunos programas con CCS pero aun me considero muy principiante, así que mi pregunta no se si cabe aquí en este tema o no, pero no quise abrir tema nuevo por considerar mi pregunta muy básica o no? La cuestión es que intente aplicarle directamente a el registro PORTB, previamente declarado, los operadores lógicos como >>,  *,  / y no surtieron efecto tuve que declara una variable, en ella si surtieron efecto y luego asignarla al PORTB ¿ Es esto normal o un bug ? mi pregunta es, porque en ensamblador es muy flexible el uso de instrucciones que afectan directamente al PORTB sin problemas, como RLF y otras. les agradezco su atención. Saludos
El programador GTP USB PLUS es un super programador
GRACIAS dobles amigo SISPIC

Tan solo queda seguir sobreviviendo

Desconectado murphy9

  • PIC10
  • *
  • Mensajes: 21
Re: Posibles "bugs" del compilador de CCS
« Respuesta #176 en: 03 de Septiembre de 2013, 23:17:34 »
Disculpen que vuelva sobre una pregunta anterior. Si deseo utilizar un cristal de 4 MHz y necesito utilizar el pll para que el micro trabaje a 4 MHz, como deberia configurar el #USE DELAY para que tome bien los tiempos? Deberia ser asi: #use delay(clock=48000000,Crystal=4000000)?

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Posibles "bugs" del compilador de CCS
« Respuesta #177 en: 06 de Octubre de 2013, 21:33:17 »
Tienes que especificar la frecuencia real de trabajo.

Yo utilizo un cristal de 10Mhz y el Pll x4 así que especifico:

#use delay(clock=40000000)
Saludos desde Granada, España.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Posibles "bugs" del compilador de CCS
« Respuesta #178 en: 06 de Octubre de 2013, 21:48:11 »
Al actualizar el CCS me han dejado de funcionar las interrupciones de un código que ya funcionaba con anterioridad. Esto sucede cada vez que utilizo el LCD, cuando envío datos al LCD las interrupciones globales se quedan deshabilitadas. ¿Esto puede ser un Bug o son cambios realizados a partir de cierta versión?.

Dejo la parte del código que he tenido que modificar para que vuelva a funcionar en parte, y digo en parte porque el LCD es un dispositivo muy lento y no me hace ninguna gracia que el CCS me deshabilite las interrupciones cuando lo utilizo.


   Enable_interrupts(GLOBAL);
//   _LcdClear();
   while(1){
      if (_Btimer0 == 1) {
         _rldbt(0, 200);    
         printf(LCD_PUTC, "\f\GIE=%u PEIE=%u", INTCON_GIE, INTCON_PEIE);      
         Enable_Interrupts(GLOBAL);
         printf(LCD_PUTC, "\nIE=%u IF=%u B:%u", PIE1_RCIE, PIR1_RCIF, _Buffer);
         Enable_Interrupts(GLOBAL);
      // LedA = !LedA;
      }

//      if (_Btimer1 == 1) {
//         _rldbt(1, 5);
         if (_Buffer == 0) LedV = 1;
         if (_Buffer > 0) {
            putc(_Receive());
            LedV = !LedV;
         }
//      }
      
      if (_Btimer2 == 1) {
         _rldbt(2, 500);
         LCD = !LCD;
      }


Nota: Al final he corregido el problema añadiendo Enable_Interrupts(GLOBAL); al principio de las funciones principales de la Flex_Lcd, pero me gustaria saber si se puede solucionar el problema de otra forma.
« Última modificación: 06 de Octubre de 2013, 22:23:30 por dogflu66 »
Saludos desde Granada, España.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Posibles "bugs" del compilador de CCS
« Respuesta #179 en: 07 de Noviembre de 2013, 18:48:06 »
Con firmado, era un bug con printf, que han corregido a partir de las version 5.13.
He probado con la versión 5.14 y ya no se da ese problema.  ((:-))
Saludos desde Granada, España.


 

anything