SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: b_sandoval en Sábado 8 de Octubre de 2005, 08:06

Título: Cual Es El Problema De Mi Codigo?
Publicado por: b_sandoval en Sábado 8 de Octubre de 2005, 08:06
Tengo un problema cuando trato de usa un compilador, muestra un error en esta linea especifica: for(col = 0;col < 32;col<<=1;){
este programa supuestamente debe mostrar la letra a en una matrix 5 x7, adjunto la direccion donde encontrar el schematic de este proyecto.

MAT_90.C

Example to drive 5 X 7 Matrix LEDs


/***********************************************
* *
* COPYRIGHT © Blitzlogic Sdn. Bhd. *
* Author : Abraham Wong 2/2/2000 *
* *
* example of driving 5 x 7 Matrix LEDs *
* *
* Compiler : IMAGECRAFT AVR C - EVAL VERSION *
* *
***********************************************/

#include < io2313.h >
#include < macros.h >

char const pat[5]={ 0x3f, 0x02, 0x04, 0x02, 0x3f };
/* PB0 0 0 1 0 0
PB1 0 1 0 1 0
PB2 1 0 0 0 1
PB3 1 1 1 1 1
PB4 1 0 0 0 1
PB5 1 0 0 0 1
PB6 1 0 0 0 1

PATTERN FOR ALPHABET A */

void wait( ){
; }


void main( void ){
unsigned char cnt, col;
unsigned int i;

PORTB = 0; /* ZERO port_a & port P3 */
PORTD = 0;

for( ;; ){
col = 1;
for (cnt=0;cnt<5;cnt++){
for(col = 0;col < 32;col<<=1;){

PORTB = pat[cnt];
PORTD = col;
for (i = 0; i < 10000; i++){ wait(); /* delay for half second */
}
}
}
}

SCHEMATIC (http://www.blitzlogic.com/Mat_90.htm)
Título: Re: Cual Es El Problema De Mi Codigo?
Publicado por: rir3760 en Domingo 9 de Octubre de 2005, 03:10
El error que emite tu compilador se debe al punto y coma de mas justo antes del parentesis derecho.

Tambien hay que tomar en cuenta que ese es un bucle infinito ya que la expresion 0 <<= 1 siempre evalua a 0.

Me imagino (y esto es solo una suposicion) que lo que se intenta con ese bucle es ejecutarlo cinco veces con la variable col tomando los valores 1, 2, 4, 8 y 16. Para esto se tendria que cambiar el bucle a:
Código: Text
  1. for (col = 1; col &#60; 32; col &#60;&#60;= 1){
  2.    /* ... */
  3. }
  4.  

Un saludo
Título: Re: Cual Es El Problema De Mi Codigo?
Publicado por: LeGatoRojo en Domingo 9 de Octubre de 2005, 07:20
No tiene caso que responda, pero el error esta en el ultimo punto y coma que pones en el "for", solo van 2.