Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Problema con matriz en Cpp
#1

Hola:

Estoy haciendo un programa en Cpp el cual ya compilado se carga en un microcontrolador.

El uC recibirá un pack de datos (22,34,34,176,90,20,60,0) que se definen de la siguiente manera:


#define dato0  recibe[0]
#define dato1  recibe[1]
#define dato2  recibe[2]
#define dato3  recibe[3]
#define dato4  recibe[4]
#define dato5  recibe[5]
#define dato6  recibe[6]
#define dato7  recibe[7]

int8 recibe[8];     // Éste es el Pack

Justo después de recibir el pack, se envía el mismo a una PC vía Serial (RS-232) en modo Bytes
(no string) de la siguiente manera:

putc(recibe[]);

Y en la PC, usando CuteCom en modo HEX como Software Serial, se recibe el pack como:

[0x16][0x22][0x22][0xB0][0x5A][0x14][0x3C][0x00]

Lo cual es correcto.

Pero si en vez de enviar recibe[], mando uno a uno sus componentes:

putc(dato0);
putc(dato1);
putc(dato2);
putc(dato3);
putc(dato4);
putc(dato5);
putc(dato6);
putc(dato7);

Recibo lo siguiente, que no es lo esperado:

[0x16][0x00][0x00][0x00][0x00][0x00][0x00][0x00]
[0x22][0x00][0x00][0x00][0x00][0x00][0x00][0x00]
[0x22][0x00][0x00][0x00][0x00][0x00][0x00][0x00]
[0xB0][0x00][0x00][0x00][0x00][0x00][0x00][0x00]
[0x5A][0x00][0x00][0x00][0x00][0x00][0x00][0x00]
[0x14][0x00][0x00][0x00][0x00][0x00][0x00][0x00]
[0x3C][0x00][0x00][0x00][0x00][0x00][0x00][0x00]
[0x00][0x00][0x00][0x00][0x00][0x00][0x00][0x00]

Lo cual provoca que mi proyecto no funcione, por el "exceso" de datos extras que vienen con
cada dato0,1,...7.

Admito que me cuesta trabajo entender los arreglos, porque tal parece que:

recibe[0] está compuesto por dato0[0], dato0[1], ......dato0[7]
recibe[1] está compuesto por dato1[0], dato1[1], ......dato1[7]

y así todos los demás.

De todos modos mando mi código completo en Cpp por si alguien tiene una idea de cómo solucionarlo.

Gracias.


Archivos adjuntos
.gz 18f14k50_cdc_usb_sc6928.c.tar.gz Tamaño: 3 KB  Descargas: 0

Es mejor saber un poco de todo, que todo de muy poco. Lo primero, garantiza la supervivencia humana.
    ¡Gracias!


Mensajes en este tema
Problema con matriz en Cpp - por AlfredoSC - 24-06-2021, 17:50
RE: Problema con matriz en Cpp - por tercoide - 24-06-2021, 18:04
RE: Problema con matriz en Cpp - por AlfredoSC - 28-06-2021, 18:39

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)