Autor Tema: CSS - Warning 203 ?!  (Leído 2695 veces)

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

Desconectado Billosin

  • PIC10
  • *
  • Mensajes: 2
CSS - Warning 203 ?!
« en: 23 de Enero de 2009, 19:05:56 »
Hola a todos,

Tengo una consulta.
Usando el PCWH de CCS version 4.038 para compilar un codigo simple de un ciclo for de 0 a 255 para el PIC16F628a me aparece el siguiente "warning":

Citar
>>> Warning 203 "prueba.c" Line xx(1,1): Condition always TRUE

0 Errors, 1 Warnings

El código con problemas es:

Citar
int i;
  for(i=0; i<=255; i++)
     output_low(PORT_B0);

La advertencia la indica en la línea donde está el for.

Lo curioso es que si el ciclo lo dejo como i=0; i<=254; i++, por ejemplo, compila correctamente.

A alguien le ha pasado algo similar?  :shock:

Muchas gracias y saludos

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: CSS - Warning 203 ?!
« Respuesta #1 en: 23 de Enero de 2009, 19:10:32 »
Los int de CCS se declaran como unsigned int de 8 bits, por lo que abarcan de 0 a 255. Cuando la variable i llega a 255 empieza en cero de nuevo, por lo que tu FOR siempre es cierto, i siempre será menor o igual a 255.

Cuando cambias el FOR a 254, la condición sí cambia cuando i vale 255.

Puedes corregir el problema cambiando i a int16 o signed int.

« Última modificación: 23 de Enero de 2009, 19:14:04 por migsantiago »

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: CSS - Warning 203 ?!
« Respuesta #2 en: 23 de Enero de 2009, 20:44:42 »
Efectivamente sucede lo que dice migsantiago, es como si estuvieses poniendo un while (1){código...}, si quieres que haga tu codigo 255 veces, tienes que quitar el 2=" y poner for(i=0;i<255;i++) o poner for(i=0;i<=254;i++). Que alguien me corrija si estoy equivocado, pero el codigo posteado, si se hubiera basado sobre una variable "i", que pudiera tomar más valores, el la acción for(i=0;i<=255;i++){código...}, la parte de "código" la haria 256 veces.

Salu2 compañero.
Share the world !

Blog's

http://www.area0x33.com

Desconectado Billosin

  • PIC10
  • *
  • Mensajes: 2
Re: CSS - Warning 203 ?!
« Respuesta #3 en: 27 de Enero de 2009, 17:09:15 »
Estimados,

Muchas gracias por las respuestas.
Mmmm... igual hay que tener cuidado al usar un ciclo for de 0 a 255 en el CCS C.  Creo que pasaria algo similar con un ciclo de 0 a 65535 usando INT16...

Saludos