lenguaje C y un problema de carácter NULL

N

ndru_w

Guest
Hola,
Me pregunto si usted me puede ayudar con mi problema.Tengo un dispositivo externo que es el envío de algunos datos por UART.Estoy leyendo a la matriz de caracteres.Y desafortunadamente este dispositivo envía los caracteres NULL dentro de los datos (para el dispositivo es sólo algo así como la instrucción NOP pero en C no es tan

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Triste" border="0" />

) Y por la que estoy perdiendo todos los datos después de que el carácter nulo.
No puedo cambiar el dispositivo, así que estoy preguntando si hay alguna posibilidad de cambiar la interpretación de NULL en C?
Recuerdos

 
Creo que usted tendrá que escribir su propia cadena / matriz de rutina de control y también recibir / enviar bits del programa.
Si los mensajes son de longitud fija, entonces no hay problema.Si se formatea el mensaje, entonces todo lo que necesitas es el delimitador (char NULL por lo general) que llega a la conclusión de un mensaje.

 
ndru_w escribió:

Hola,

Me pregunto si usted me puede ayudar con mi problema.
Tengo un dispositivo externo que es el envío de algunos datos por UART.
Estoy leyendo a la matriz de caracteres.
Y desafortunadamente este dispositivo envía los caracteres NULL dentro de los datos (para el dispositivo es sólo algo así como la instrucción NOP pero en C no es tan
<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="Triste" border="0" /> ) Y por la que estoy perdiendo todos los datos después de que el carácter nulo.

No puedo cambiar el dispositivo, así que estoy preguntando si hay alguna posibilidad de cambiar la interpretación de NULL en C?

Recuerdos
 
Gracias, pero es causa no es tan fácil cuando estoy leyendo datos (sé cuántos bytes de datos que tengo y estoy leyendo todos estos datos), después de todo lo que se omite NULL.Así que no puedo hacer algún tipo de sustitución, porque por ejemplo, cuando voy a tener "HEL (NULL) LO" Tengo en mi matriz tal y HEL.

 
Usted debe tratar los datos como datos binarios y no como una cadena de caracteres ASCI.

Una vez que haya recibido los datos y luego analizar.

 
Si usted sabe cuánto tiempo es el mensaje que puedes leer carácter a la vez y luego metérselo en la matriz.

algo así:
Código:for (i = 0; i <= 10; i )

(

arr = getc ();

)

 

Welcome to EDABoard.com

Sponsor

Back
Top