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

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

Desconectado carlostecno

  • PIC10
  • *
  • Mensajes: 5
Re: Posibles "bugs" del compilador de CCS
« Respuesta #180 en: 12 de Marzo de 2014, 08:51:32 »
amigos necesito una  ayuda   lo que pasas es que creo cualquier programa en picc y compilo y ejecuta bien pero voy a la carpeta donde guarde el archivo y no me crea el punto hex... ayuda

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: Posibles "bugs" del compilador de CCS
« Respuesta #181 en: 12 de Marzo de 2014, 11:14:26 »
amigos necesito una  ayuda   lo que pasas es que creo cualquier programa en picc y compilo y ejecuta bien pero voy a la carpeta donde guarde el archivo y no me crea el punto hex... ayuda
Creo que eso no es un bug, pero puedes irte a "Options" luego a "project" y luego en "output files" y verifica que este activa la casilla del .hex, también verifica que no tengas errores, puede que por eso no genere el .hex
"Nada es imposible, no si puedes imaginarlo"

Desconectado leoelectronic

  • PIC10
  • *
  • Mensajes: 29
Re: Posibles "bugs" del compilador de CCS
« Respuesta #182 en: 28 de Noviembre de 2014, 09:40:48 »
buenas amigos de TODOPIC, estoy empezando a trabajar con las nuevas versiones del compilador CCS 5.xxx  Smile y resulta que he tenido varios problemas   redhot  el principal cuando utilizo el asistente para crear un nuevo proyecto con el wizard resulta que configuro todo como normalmente se hace en las versiones 4.xxx (frecuencia tipo de oscilador, timers, interrupciones................)  Razz pero cuando genera los archivos el .h que es donde se guardan los fuses de configuración no aparecen todos  Shocked crea unos pocos y sobre todo no genera el del oscilador y cuando cargo el programa al PIC no corren los programas.......... redhot, no se porque y luego coloco el fuse manualmente y funciona, pero eso no debe pasar porque justamente para eso es el wizard no?.............. saludos

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re:Posibles "bugs" del compilador de CCS
« Respuesta #183 en: 10 de Marzo de 2016, 19:09:49 »
no es un bug, creo que es como algo que olvidaron la gente del ccs. me refiero a la opción de intercambiar entre versiones de compiladores en el IDE PCW,

en las versiones 5.x se puede instalar versión sobre versión y clickando en about (dentro del IDE) se puede intercambiar entre compiladores, pero he aquí un detalle que descubrí,

si por ejemplo las librerías de los micros han sufrido cambios entonces puede que una versión diferente del último compilador instalado genere errores, tal como me sucedió con la librería 18f2550.h y con las versiones 4.130 y 5.xxx

la opción de permitir compilar seleccionando compiladores es excelente, pero olvidaron decir que el resto de los archivos se reemplazarán por completo a los antiguos que venían con una versión anterior.
« Última modificación: 10 de Marzo de 2016, 19:17:12 por PalitroqueZ »
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado Hernandiaz03

  • PIC10
  • *
  • Mensajes: 9
Re:Posibles "bugs" del compilador de CCS
« Respuesta #184 en: 15 de Mayo de 2016, 22:22:45 »
Saludos,
Tengo un problema del cual no veo salida, programe en un 16f1823 la conversion de 2 ADC y la impresion por serial de esto.

pero cuando el resultado de las ADC son 1023, simplemente se queda congelado. se para por completo.

alguien tiene el indicio de que es lo que sucede?

Desconectado mauroc146

  • PIC10
  • *
  • Mensajes: 3
Re:Posibles "bugs" del compilador de CCS
« Respuesta #185 en: 25 de Agosto de 2016, 00:34:44 »
saludos.

Tengo un problema con el timer0 como temporizador de 0ms a 8ms, se retrasa al hacer un delay_ms en el void main() del programa.

Anteriormente hice un programa para controlar un triac usando el timer1 y no tuve inconvenientes, pero ahora lo quise hacer con el timer0, porque el timer1 lo usare para otro propósito, y no puedo hacerlo funcionar

He simplificado el código para encontrar en que estaba fallando y encontré que cuando pongo algún delay de cualquier valor en void main(), el timer0 deja de trabajar como debería.
Si quito los delay y lo simulo en el proteus funciona bien.

He leído que el timer0 es independiente del programa principal y es por eso que, no sé que estoy haciendo mal :( 
Gracias por su atención


#include <16F876A.h>
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#use delay(crystal=4000000)
#use FIXED_IO( B_outputs=PIN_B4,PIN_B3,PIN_B2 )

#INT_EXT                                     
void  EXT_isr(void)
{                                                 //uso la interrupcion por pin_b0 para el cruce por cero de la red
set_timer0(120);                         // aqui cargo el valor del timer0 para el desbordamiento
enable_interrupts (INT_TIMER0);  // que sera de 0ms a 8ms para un control de 0º a 180º +-
}

#INT_TIMER0
void  TIMER0_isr(void)
{
   DISable_interrupts (INT_TIMER0);
      output_high(pin_b4);                 // cuando se desborde el timer0 activa al triac
          delay_ms(1);                         //   y espera a la interrupcion externa para activar y cargar
      output_low(pin_b4);                  //      nuebamente al timer0
       
}


void main()
{
       
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_32|RTCC_8_bit);      //8.1 ms overflow
   enable_interrupts(INT_TIMER0);
   enable_interrupts(INT_EXT);     
   enable_interrupts(GLOBAL);

   while(TRUE)
   {
         
         output_high(pin_b4);   //activo una salida para que aga algo el programa
           delay_ms(1);            //el problema es cuando pongo un delay de cualquier valor
         output_low(pin_b4);    //el timer0 deja de funcionar periodicamente (hace cualquier cosa)
           delay_ms(1);           
         
   }

}

adjunto dos imagenes de la simulacion en proteus

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Posibles "bugs" del compilador de CCS
« Respuesta #186 en: 25 de Agosto de 2016, 00:43:05 »
Voy a ser breve porque estoy desde el celular.

Nunca uses un delay en una interrupción.
No estás limpiando los flags antes de activar la interrupción, ya que el timer 0 nunca para.
Y luego es separar si el problema es el compilador o el simulador.

Aunque no debería causar lo que se ve.
« Última modificación: 25 de Agosto de 2016, 00:47:10 por KILLERJC »

Desconectado Somag!

  • PIC10
  • *
  • Mensajes: 12
Re:Posibles "bugs" del compilador de CCS
« Respuesta #187 en: 03 de Febrero de 2017, 15:13:42 »
1er PROBLEMA CON INTERRUPCIÓN
Solución:

Al finalizar cualquier interrupción siempre se debe poner
clear_interrupt(INT_XXX);

eso yo lo hago y me funciona perfectamente :-)

#int_rb
void interrup()
   {
       output_toggle(pin_a1);
       c='1';
       v=read_adc();
       clear_interrupt(int_rb);
   }


Otro dato, es que en las interrupciones no deben de tener retardos de ningún tipo.
Deben ejecutar su tarea/función lo mas rápido posible

Desconectado hayeker

  • PIC10
  • *
  • Mensajes: 18
Re:Posibles "bugs" del compilador de CCS
« Respuesta #188 en: 17 de Marzo de 2017, 12:00:43 »
Muy buen tema, los aplicare de ahora en adelante, pero veo que son muchos detalles que tiene este compilador, mmm creo que voy a intentar emigrar al de microchip.

Saludos.

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5552
    • Picmania by Redraven
Re:Posibles "bugs" del compilador de CCS
« Respuesta #189 en: 17 de Marzo de 2017, 16:16:09 »
no es un bug, creo que es como algo que olvidaron la gente del ccs. me refiero a la opción de intercambiar entre versiones de compiladores en el IDE PCW,

en las versiones 5.x se puede instalar versión sobre versión y clickando en about (dentro del IDE) se puede intercambiar entre compiladores, pero he aquí un detalle que descubrí,

si por ejemplo las librerías de los micros han sufrido cambios entonces puede que una versión diferente del último compilador instalado genere errores, tal como me sucedió con la librería 18f2550.h y con las versiones 4.130 y 5.xxx

la opción de permitir compilar seleccionando compiladores es excelente, pero olvidaron decir que el resto de los archivos se reemplazarán por completo a los antiguos que venían con una versión anterior.

Muy cierto amigo Pedro.

Y otra cosa que me ha pasado y que me ha tenido loco unos cuantos días. Al compilar con un compilador 5.x mas moderno había algo que no iba bien, me decía que faltaban registros o constantes y no sabía donde mirar. Hasta que dí con el quid de la cuestión: el problema estaba en el fichero del proyecto, .CCSPJT, que no deja de ser un simple .INI de toda la vida.

Como en origen lo creé con una versión más antigua del compilador, que aún tenía instalado en mi PC,  este fichero de Proyecto contiene una sección de [Directories] en la que hay una entrada con los directorios de los Includes, tanto los estándar como los manuales que le hayamos añadido.

En el IDE me aparecían todos los includes de Devices y Drivers del compilador moderno pero como los Path eran muy largos no me daba cuenta de que también estaban los del compilador original ... y curiosamente utilizaba éstos, los antiguos, en vez de los modernos  :shock:

Nah, edité con el Notepad el fichero .CCSPJT y quité las referencias al antiguo y todo andando correctamente  :mrgreen: 
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado leoelectronic

  • PIC10
  • *
  • Mensajes: 29
Re:Posibles "bugs" del compilador de CCS
« Respuesta #190 en: 10 de Abril de 2017, 13:22:19 »
Pues que mal por la gente de CCS en vez de mejorar  :5].................. bueno  :-/ seguiremos esperando por esta solución, la ultima versión que probé 5.059 y seguía dando el error

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7918
Re:Posibles "bugs" del compilador de CCS
« Respuesta #191 en: 10 de Abril de 2017, 13:53:08 »
1er PROBLEMA CON INTERRUPCIÓN
Solución:

Al finalizar cualquier interrupción siempre se debe poner
clear_interrupt(INT_XXX);

eso yo lo hago y me funciona perfectamente :-)

#int_rb
void interrup()
   {
       output_toggle(pin_a1);
       c='1';
       v=read_adc();
       clear_interrupt(int_rb);
   }


Otro dato, es que en las interrupciones no deben de tener retardos de ningún tipo.
Deben ejecutar su tarea/función lo mas rápido posible

En ese ejemplo estas leyendo el conversor A/D que tiene retardos importantes (al menos para lo que representa dentro de la interrupcion), eso no debe hacerse asi.
Para hacerlo rapido, deberias actiuvar la interrupcion del A/D y dejar que ocurra para luego traerte el valor leido.
Ocupas menos el procesador y mejoras el codigo....

Respecto al archivo de proyecto, no es necesario editarlos afuera, tienes el ruteo que se puede editar directamente dentro del arbol del mismo CCS.
Se hace desde aqui:

* Include.jpg
(50.79 kB, 551x391 - visto 924 veces)
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado elsela

  • PIC10
  • *
  • Mensajes: 1
Re:Posibles "bugs" del compilador de CCS
« Respuesta #192 en: 10 de Octubre de 2021, 12:22:40 »
Después de indagar por todos los caminos de la web sobre error 99 con el ccs compiler, y no ver una solución a dicho error en el cual desconoce la correcta configuración de los puertos, conseguí la solución, actualizando el CCS compiler a una versión mas reciente, aclaro que tengo instalado Windows 10, principal causante de incompatibilidad, con algunos programas no tan recientes de versiones actualizadas a la fecha, creo que esta condición es un dolor de cabeza para muchos programadores, que puedan pensar que lo están haciendo  mal.
Es muy importante estar atento, antes de profundizar en un desarrollo.
Felicidad para todos.
Saludos cordiales desde Venezuela
Antonio José Sandoval Doza

Desconectado danywes

  • PIC10
  • *
  • Mensajes: 12
Re:Posibles "bugs" del compilador de CCS
« Respuesta #193 en: 16 de Febrero de 2022, 23:44:23 »
Hola que tal.

Note que con el pic #include <18F46K22.h> mi ccs versión 5.015
programador PicKit 2 V2.61

el fuse de protección de lectura funciona al revez. con:

#FUSES PROTECT     

Después de grabar el micro, al leerlo me muestra todo el código.

mientras que con:

#FUSES NOPROTECT     

después de grabar y al leer el pic con el programador me muestra todo ceros.

O sea, PROTECT no proteje, y NOPROTEC si proteje.

solo con este micro me lo hizo, con otros anda bien.