Buen dia,<br><br>Tengo un problema con una aplicacion que estoy desarrollando, tengo que leer del puerto serial que es virtual, es decir que un driver creo el puerto y estoy leyendo desde alli; no tengo problemas cuando un equipo externo manda caracteres validos(0x01, 0x02...), mi programa en c++ los recibe bien, el problema que tengo ahora es que el equipo externo manda caracteres nulos (0x00) y alli es cuando pareciera que la funcion ReadFile no los leyera bien.<br>
<br>tengo el siguiente codigo:<br><br><span style="font-family: courier new,monospace;">char tmp[128];</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">int multiplo=0;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">DWORD err;</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">COMSTAT stt;</span><br style="font-family: courier new,monospace;">
<br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">ClearCommError(hcom, &err, &stt);</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">do{</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> if(ReadFile(hcom, tmp, stt.cbInQue, &err, NULL)){</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> tmp[err] = '\0';</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> memcpy(bfIn+multiplo, tmp, err);</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> multiplo = multiplo + err;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;"> }else</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;"> return 0;</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">}while(err > 0);</span><br clear="all"><br>el cual funciona bien si es que no se le manda caracteres nulos, y cuando defino el dcb pongo que acepte los caracteres nulos:<br>
<br><span style="font-family: courier new,monospace;">dcb.fNull = false;</span><br><br>Alguna idea de algo que este fallando?<br>Gracias de antemano.<br><br>-- <br>================================<br>ing. paredes aguilar, armando<br>
<a href="http://www.sinapsisperu.com/">http://www.sinapsisperu.com/</a><br>Desarrollador<br><br>