Hola a todos, me he encontrado con un problemilla al programar el envío serial con PIC's, sucede que deseo incluir dentro de un arreglo un byte null (0x00), o sea interpretarse como dato y NO como indicador de fin de string usando el modulo UART de un pic, creo que esto se adapta a todos los casos sin importar si es un pic de 8, 16 o 8 bits. Cuando agrego a un campo del arreglo este byte, los datos enviados son incorrectos. Para ser mas claro, tengo un arreglo llamado envio[20] de tipo BYTE, digamos que cada campo lo lleno de esta manera:(se que así no es posible llenarlo pero es una manera gráfica de explicar mi problema)
envio[0] = 0x41; (ascii de letra A)
envio[1] = 0x42;
.
.
.
envio[8] = 0x00; ( NULL) no es fin de trama, es un dato
envio[9] = 0x2F;
.
.
.
envia[19] = 0x4D;
uso una función que envía el puntero a este arreglo y su longitud, algo así:
void enviar_cadena(void*ptr_array, int longitud_array);
pero como digo, los datos enviados son incorrectos, al cambiar
envio[8] = 0x00 a envio[8] = 0x3E;
y vuelvo a enviar, ahora si envía correctamente los datos; Como verán lo que deseo es enviar un NULL, pero no se como, a pesar que le doy la longitud del arreglo en la funcion(es decir pongo 20), la trama se corta en ese NULL
Porfavor si alguien tiene una sugerencia o idea de como proceder, se lo agradecería muchisimo