fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Error cuando uso ar...
 
Avisos
Vaciar todo

Error cuando uso arrays

7 Respuestas
4 Usuarios
0 Reactions
19.5 K Visitas
fmartagong
Respuestas: 36
Topic starter
(@fmartagong)
Ardero
Registrado: hace 16 años

Hola de nuevo:

Estoy intentando usar arrays y me lanza errores el compilador (SDCC).

ControlMotorPaP.c:97: error 0: Duplicate symbol 'paso', symbol IGNORED
ControlMotorPaP.c:96: error 177: previously defined here

Lo he intentado así:
#define paso[1] 0x01

también he intentado antes declarar el array:
int paso[4];

Si declaro variables también me pasa.
¿Es que no se pueden usar arrays aquí?

Gracias anticipadas

Responder
6 respuestas
fj_sanchez
Respuestas: 1083
(@fj_sanchez)
Ardero
Registrado: hace 19 años

¡Buenas!

Uff, es tarde así que no me enrollaré mucho. Por un lado estás confundiendo las definiciones con las declaraciónes. Me explico con un ejemplo:
#define PI 3.1415
#define LED_ROJO 0x01

int matriz[5] = {1,2,3,4,5}

matriz[0] = 5;
matriz[4] = 5;

Las 2 primeras son definiciones, nos sirven para crear constantes, a la hora de compilar, el compilador cambiará cualquier ocurrencia de ellas en el código por su valor. Las variables se declaran para que el compilador sepa que tiene que reservar esa memoria. También recuerda que en la declaración se indica el número de elmentos, pero en las asignaciones el índice empieza en 0.

Ese error parece que es porque has usado el mismo nombre en otra variable o función. ¿Puedes poner el código entero?

¡Saludos!

Responder
fmartagong
Respuestas: 36
Topic starter
(@fmartagong)
Ardero
Registrado: hace 16 años

Lo que yo quiero es definir constantes en forma de array, o sea, quiero definir como constantes
paso[1], paso[2], etc...

como me da error lo que he tratado de hacer es declarar las constantes y luego crear el array, y posteriormente asignar a cada elemento del array la constante que me interesa, dejando el elemento [0] vacío queriendo.

El siguiente código me arroja este error:
===============
ControlMotorPaP.c:98: syntax error: token -> '=' ; column 8
===============
//-- Definiciones para los motores. Estos valores define
//-- los movimientos del robot

#define paso1 0x1E // 000 1111 0
#define paso2 0x16 // 000 1011 0
#define paso3 0x14 // 000 1010 0
#define paso4 0x1C // 000 1110 0
#define STOP 0x00
unsigned char paso[4];
paso[1]=paso1;
paso[2]=paso2;
paso[3]=paso3;
paso[4]=paso4;

Responder
fmartagong
Respuestas: 36
Topic starter
(@fmartagong)
Ardero
Registrado: hace 16 años

ERROR

Responder
goblin welder
Respuestas: 77
(@goblin-welder)
Trusted Member
Registrado: hace 16 años

Prueba a empezar en el [0] y acabar en el [3] como te indican mas arriba.

Responder
Página 1 / 2
Compartir: