TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: AcoranTf en 22 de Octubre de 2016, 19:28:29

Título: (Solucionado) Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
Publicado por: AcoranTf en 22 de Octubre de 2016, 19:28:29
Pues eso, aunque parezca una pregunta tonta, no encuentro nada ni en internet ni en los libros que tengo.
El tema es que necesito hacer un for, pero con saltos de tres en tres. Si n++ incrementa uno ¿n++++ incrementa tres? o seria mejor n++ ; n++ ; n++; (Ya comprobe que esto no funciona, da error al compilar).
¿Hay forma de hacerlo en una sola operacion al estilo de algun BASIC, "next n step(3)"?.

Saludos.
Título: Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
Publicado por: KILLERJC en 22 de Octubre de 2016, 19:40:24
Seria asi:

Código: C
  1. for ( i = 0 ; i < 100 ; i++, i++, i++ ) {}

Pero por que hacerlo en 3 veces si lo podes hacer de una sola ves ?

Código: C
  1. for ( i = 0 ; i < 100 ; i+=3 ) {}

Podes poner cualqueir cosa :P incluso variables no definidas en ese for, ejemplo para encontrar un numero en BCD, en ves de ponerlas dentro de las llaves si es una sola.

Creo que es cuestion de gusto esa ultima

Código: C
  1. for( centena = 0; numero > 99 ; centena++, numero-=100; );
  2. for( decena = 0; numero > 9 ; decena++, numero-=10; );
  3. unidad = numero;
Título: Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
Publicado por: AcoranTf en 22 de Octubre de 2016, 21:12:30
Gracias Killerjc, ¿que haria yo sin ti?  :D :D
Creo que no me entendiste bien, lo que quiero es incrementar de 3 en 3, no hacerlo en tres pasos.
Voy a probarlo.

Saludos.

P.D.: ¿Por cierto hay algun libro avanzado de CCS donde aprender estas cosillas o eso es del C generico?
Título: Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
Publicado por: KILLERJC en 22 de Octubre de 2016, 21:17:01
Si, pero como habia leido que quisiste poner i++; i++; i++; entonces decidi agregar el primer codigo para que veas que aun asi, se puede hacer en 3 pasos.

El ultimo codigo era un ejemplo, de que se puede poner cualquier cosa dentro. Y no necesariamente que sea la variable del for, trabajar punteros, etc.

Y bueno el codigo del medio es que buscas.
Título: Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
Publicado por: AcoranTf en 22 de Octubre de 2016, 21:18:27
Si, pero como habia leido que quisiste poner i++; i++; i++; entonces decidi agregar el primer codigo para que veas que aun asi, se puede hacer en 3 pasos.

El ultimo codigo era un ejemplo, de que se puede poner cualquier cosa dentro. Y no necesariamente que sea la variable del for, trabajar punteros, etc.

Y bueno el codigo del medio es que buscas.

Si, gracias de nuevo, por fa lee mi post data del comentario anterior.
Título: Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
Publicado por: KILLERJC en 22 de Octubre de 2016, 21:22:29
Lo que preguntaste es C generico.

Las cosas que te importan de CCS y que incumben a CCS es :

- Forma de Acceso a registros
- Funciones creadas ya en CCS ( que pueden o no manejar registros)
- Directivas de preprocesamiento
- Saber un poco que cosas hace CCS en algunos casos como interrupciones, etc.

Todo lo demas, structs, union, todo tipo de loop como for, while, do..while, if, punteros, lo que se te ocurra deberia ser C generico.