enviar un control+d por puerto serie...

Gerardo Juarez gerardo en computo-industrial.com.mx
Jue Ene 18 16:06:17 CET 2007


Debería funcionarte mandar un chr(4) al puerto, del mismo modo que mandas
un chr(97) (una 'a') o cualquier otra clave ascii. Lo que pasa 
frecuentemente en estos casos es que la forma de terminar un mensaje varía 
mucho de un dispositivo a otro: simplemente en UNIX tu cierras un archivo 
con ctrl-d, pero en MSDOS usas ctrl-z. Yo he encontrado distintos 
dispositivos que esperan NULL, ctrl-d, escape y ctrl-z, para considerar 
terminada una transmisión. Es cuestión de probar. 

Otro problema que podrías tener sería si tienes varias capas de software, 
y alguna de ellas está haciendo un filtrado tipo texto y requiere de 
especificar explícitamente un modo binario, y que esté suficientemente 
escondido para que no lo hayas notado. Poco probable, pero habría que 
revisar. ¿Cómo estás codificando el envío de la información? Lo estás 
empacando, usas print, etc.

Sobre puertos serie puedes 
ver: http://www.eng.auburn.edu/users/doug/serial.html

saludos
Gerardo


On Wed, 17 Jan 2007, Erik Rivera Morales wrote:

> Hola Pythoneros...
> 
> Estoy comunicandome con un dispositivo por medio del puerto serie,
> utilizo pyserial para esa tarea, mi duda es que para terminar la
> comunicación con dicho dispositivo me especifica que debe ser con   un
> EOT (control+d desde el teclado)
> 
> en la tabla ASCII tiene el valor 0x04, pero ¿como se lo envio por el
> puerto? ya que por obias razones no me acepta valores numericos e
> intentando enviarlo como '\x04' y '\004' pero no funciona.
> 
> Alguien me podria orientar a como hacerle o donde puedo encontrar
> información mas especifica??
> 
> Saludos!
> 
> 




Más información sobre la lista de distribución Python-es