TODOPIC

Microcontroladores PIC => Pic32 => Mensaje iniciado por: vicentek6 en 16 de Abril de 2014, 00:21:42

Título: Una cosa curiosa con un vector
Publicado por: vicentek6 en 16 de Abril de 2014, 00:21:42
Quería  preguntaros si alguien tiene respuesta para esto, o quiere entretenerse en buscar una respuesta. (MPLAB X IDE V1.85 / PIC32MX695F512L)

Declaro un vector de tipo BYTE (typedef unsigned char):
BYTE v[10] = {0x41, 0x32, 0xAB, 0x54, 0x47, 0x41, 0x43, 0x4C, 0x52, 0x43};
si lo imprimo, obtengo, obviamente:
4132AB544741434C5243

En cambio, si declaro un vector de tipo char:
char v[10] = {0x41, 0x32, 0xAB, 0x54, 0x47, 0x41, 0x43, 0x4C, 0x52, 0x43};
obtengo
4132FFFFFFAB544741434C5243

De donde salen esos 3 bytes adicionales? Alguna idea?
La tontería esta me ha tocado los h* media mañana  :5]
Título: Re: Una cosa curiosa con un vector
Publicado por: vicentek6 en 16 de Abril de 2014, 00:41:21
Supongo que tendrá que ver con la alineación de 32 bits en la memoria de programa, pero:
1: Si declaro dos vectores consecutivos tipo char, hace lo mismo, luego un cambio de pagina en la flash no es, y
2: sólo lo hace con tipo char ?