Autor Tema: (Solucionado) Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?  (Leído 3819 veces)

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

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
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.
« Última modificación: 28 de Octubre de 2016, 17:46:17 por AcoranTf »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
« Respuesta #1 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;
« Última modificación: 22 de Octubre de 2016, 19:46:37 por KILLERJC »

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
« Respuesta #2 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?
« Última modificación: 22 de Octubre de 2016, 21:17:11 por AcoranTf »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
« Respuesta #3 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.

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
« Respuesta #4 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.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Bucle FOR en CCS ¿Se puede incrementar mas de 1 cada vez?
« Respuesta #5 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.


 

anything