| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Invitado
|
Publicado: Mie 12 May, 2004 8:37 pm Asunto: Comunicacion Serial, problema con char (LEO) |
|
|
Me gustaria saber como introduce un valor comprendido 0 a 255 en un char, para enviarlo a traves de puerto serial a traves de esta funcion:
TransmitCommChar(hComm, char); |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mie 12 May, 2004 8:53 pm Asunto: |
|
|
No se si no te estoy entendiendo bien la pregunta, es tan simple como:
char caracter = 255;
TransmitCommChar(hComm, caracter);
Al ser char (con signo) el 255 es lo mismo que -1, no se si me entiendes.
O si te gusta más:
unsigned char caracter = 255;
TransmitCommChar(hComm, caracter); |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mie 12 May, 2004 9:25 pm Asunto: Gracias por contestar |
|
|
Realmente estoy asombrado con la rapides de la repuesta
Por otro lado creo que me explique mal o te entendi mal cuando uno por ejemplo recibe un dato via seria lo que uno recibe es un Byte que se almacena en un bufer de recepcion de datos que uno abre hcom, si estoy en el lo correcto usando en el codigo que se consigue en el club, pero mi problema consiste es como se a ciencia cierta que byte puedo enviar a traves de la funcion
unsigned char c1;
TransmitCommChar(hComm, c1);
como hago seria la pregunta para enviar en un tamaño de unsigned char valores compredidos en 0 a 255
o de otra forma la pregunta seria como envio el binario de byte de 8 bit en forma de un char
lo que pasa el otro equipo que recibe el dato solo espera un 8bit que representados en notacion decimal seria un valor compredido entre 0 y 255
espero que me puedas ayudar
De ante mano muchas gracias |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Sab 15 May, 2004 5:57 pm Asunto: |
|
|
| Lo siento, sigo sin entenderte. Lo que entiendo es que intentas enviar un entero de 8 bits y precisamente eso es lo que es un "char". |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
Publicado: Sab 15 May, 2004 6:09 pm Asunto: |
|
|
Puedes hacerlo de la siguiente manera...
de lo que estoy viendo... es implementar con un if
| Código: |
char caracter = 255;
{...}
if (caracter>-1 && caracter<256)
TransmitCommChar(hComm, caracter);
|
o no es eso lo que buscas? _________________
 |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Lun 17 May, 2004 9:52 pm Asunto: Gracias por contestar |
|
|
Gracias de todo corazon por la atencion, despue de meditar lo presentado recurri a lo siguiente:
unsigned char c1;
c1=StrToInt(Edit1->Text);
TransmitCommChar(hComm, c1);
muchas gracias |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Lun 17 May, 2004 9:54 pm Asunto: Gracias por contestar |
|
|
Gracias de todo corazon por la atencion, despue de meditar lo presentado recurri a lo siguiente:
unsigned char c1;
c1=StrToInt(Edit1->Text);
TransmitCommChar(hComm, c1);
muchas gracias |
|
| Volver arriba |
|
 |
Raúl Capt


Registrado: 16 Ago 2002Mensajes: 174Ubicación: Oruro (Bolivia)
|
Publicado: Vie 11 Nov, 2005 3:21 am Asunto: Comunicacion Serial |
|
|
Hola a todos los del foro tengo una pregunta en la que espero me puedan ayudar, sucede que tengo que hacer una aplicacion la cual tiene que interactuar con el puerto serial y pues para mi esto del puerto serial es muy nuevo y cuando me dijeron que lo tenia que hacer pues me quede pero bueno como buen Buildero que me considero pues nada de miedo porque los desafios estan para eso para pasarlos y luego volar sobre ellos.
Bueno mi problema es que tengo que hacer que mi programa interactue con una balanza digital la cual expulsa hacia una pantalla LA FECHA, LA HORA, EL PESO, Y OTRA INFORMACION ADICIONAL, bueno los que me dijeron que haga esta interfaz me comentaron que lo hicieron en modo MS - DOS, pero como es logico por la falta de amigabilidad de este sistema pues lo decidieron hacer en una aplicacion para Windows, pero bueno mis dudas son las siguientes:
La comunicacion Serial ocurre Uni o Bidireccionalmente (O sea solo se recibe informacion, o tambien se puede mandar informacion)
Como llega la informacion a traves de este puerto, byte a byte, todo en global?
Que componente puedo usar para recibir esa informacion?
Cuales son los pasos elementales para trabajar con estos dispositivos, abrir, cerrar, etc???
Finalmente como es logico, sera dificil por no decir imposible llevarme la balanza a mi casa, asi que como puedo practicar o verificar el codigo, o como hago la prueba que en realidad estoy capturando informacion del puerto???
Espero no haberlos aburrido con la presentacion preliminar del problema y espero que me puedan ayudar... Pero como siempre gracias de antemano...
Saludos... _________________
 |
|
| Volver arriba |
|
 |
Raúl Capt


Registrado: 16 Ago 2002Mensajes: 174Ubicación: Oruro (Bolivia)
|
Publicado: Mar 15 Nov, 2005 1:05 am Asunto: Puerto Serial |
|
|
Hola a todos, tengo un problema:
Probe el codigo fuente de Porcar, pero me visualizo caracteres basura, y no se como darle solucion y quisiera saber si alguien puede ayudarme a interpretar los datos que recibo, o como puedo hacer para visualizar la informacion en forma correcta...
espero haberme explicado, ah y me dijeron que esto puede ocurrir por los datos estan llegando en forma binaria y tendria que hacer algo para convertirlos a hexadecimal o algo parecido espero me puedan ayudar y un saludo a todos... _________________
 |
|
| Volver arriba |
|
 |
Invitado
|
Publicado: Mar 15 Nov, 2005 5:05 am Asunto: |
|
|
Hola Raul,
Las comunicaciones por el puerto serie son bidireccionales, envias y recibes datos.
Te aconsejo que utilices las apis de windows que resultan muy faciles de usar desde builder.
Un dato muy importante a tener en cuenta en toda comunicacion serie es los parametros de configuracion del puerto serie, cuando conectamos un dispositivo y queremos comunicar conel debemos saber esta configuracion.
la mas tipica es: 9600,n,8,1 (baudios, paridad, bits, stop bit)
Saludos, |
|
| Volver arriba |
|
 |
Raúl Capt


Registrado: 16 Ago 2002Mensajes: 174Ubicación: Oruro (Bolivia)
|
Publicado: Lun 21 Nov, 2005 10:46 pm Asunto: Entender la informacion |
|
|
Hola a todos, lo que necesito es que alguien me explique como puedo hacer una aplicacion que reciba informacion del puerto serial, pero la duda que tengo es como interpretar la informacion que me llega a traves del puerto, por ejemplo: supongo que es diferente la informacion que pueda enviar un raton antiguo, con respecto de la informacion que manda por ejemplo la calculadora HP, etc. necesito saber como saber interpretar esa informacion, o si prefieren como decodificarlo, pues con el ejemplo de RPorcar recibo la informacion pero solo consigo tener caracteres basura espero su ayuda...
Gracias de antemano su amigo: _________________
 |
|
| Volver arriba |
|
 |
Raúl Capt


Registrado: 16 Ago 2002Mensajes: 174Ubicación: Oruro (Bolivia)
|
Publicado: Jue 24 Nov, 2005 10:46 pm Asunto: Puerto serial |
|
|
Hola a todos acerca de mi duda anterior les cuento que solucione el problema que tenia acerca de los caracteres basura, y lo solucione solamente cambiando la configuracion de:
9600, n, 8, 1
a
1200, n, 8, 1
Pero agradeceria mucho si me pueden explicar como fue que ese cambio logro resolver mi problema...
Un saludo su amigo: _________________
 |
|
| Volver arriba |
|
 |
philips Capt

Registrado: 16 Nov 2005Mensajes: 154
|
Publicado: Vie 25 Nov, 2005 12:56 am Asunto: |
|
|
Hola
A menor velocidad menos errores, Tx y Rx mas fiable
Claro está, siempre con la premisa de que el Pc y el dispositibo externo estén sincronizados correctamente ya que en caso contrario no se entenderian
Saludos al foro |
|
| Volver arriba |
|
 |
Raúl Capt


Registrado: 16 Ago 2002Mensajes: 174Ubicación: Oruro (Bolivia)
|
Publicado: Sab 26 Nov, 2005 5:12 pm Asunto: Puerto serial |
|
|
Gracias Philips...
Tienes razon, al encargado de los sistemas se le olvido avisarme que el equipo esta configurado para enviar la informacion a 1200, y pues como es logico, al tener diferentes velocidades no se entendia nada de la informacion, pero igual gracias por tu ayuda...
Un saludo a todos...  _________________
 |
|
| Volver arriba |
|
 |
|