AlfredoSC   24-06-2021, 17:50
#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.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.