Please, Ayudenme con lo del Puerto Serial!!!

23/10/2003 - 18:58 por Montealegre | Informe spam
Estoy tratando de recibir la informacion de una bascula que se conecta a la
PC, alquin me podria ayudar a entender o pasar una idea, info, manual de
como manipular el puerto de mi maquina para que convierta la senal en una
valor tangible como lo es un peso.
De verdad.Mil gracias

Preguntas similare

Leer las respuestas

#1 Leonardo Moreno Forero
23/10/2003 - 19:27 | Informe spam
Hola Motealegre,

Visita la siguiente dirección http://www.codeproject.com y busca en los
artículos la frase "serial port" y encontrarás varias opciones de lo que
quieres hacer con VC++.

Atentamente,

Leonardo Moreno Forero
MCP - MCSD
Bogotá - Colombia

Ahhh. No se olviden de visitar www.willydev.net
Publicidad no cobrada. Solo orgullo patrio.

"Montealegre" escribió en el mensaje
news:
Estoy tratando de recibir la informacion de una bascula que se conecta a


la
PC, alquin me podria ayudar a entender o pasar una idea, info, manual de
como manipular el puerto de mi maquina para que convierta la senal en una
valor tangible como lo es un peso.
De verdad.Mil gracias


Respuesta Responder a este mensaje
#2 Montealegre
24/10/2003 - 03:26 | Informe spam
Gracias por tu tiempo, aunque abusando de tu amabilidad te comento que
quiero leer la info de una bascula que conectare al puerto serial RS232 sin
tuvieras algo de eso, en fin, De verdad gracias por la liga.
Respuesta Responder a este mensaje
#3 KAKATUO
27/10/2003 - 22:44 | Informe spam
Hola Montealegre,
Creo que das poca información para que alguien te pueda ayudar. Deberías
contarnos algo mas acerca del protocolo que utilizará tu báscula para
comunicarse con el PC, posiblemente en los manuales de la báscula venga una
tabla de códigos de control para la báscula, o el formato de los datos o
algo.
Cuando conozcamos todos esos detalles podremos darte algún consejo sobre
cómo puedes programar el puerto serie.
Como ejemplo, mira esta mini clase que sirve para abrir una comunicación
serie y poder enviar mensajes en forma de strings. No está muy elaborada
pero espero que te sirva para hacerte una idea.


class CCommSerial
{
private:
HANDLE m_handle;

public:
CCommSerial(void);
virtual ~CCommSerial();

public:
DWORD m_dwError;
int Create(const char* lpszcPort);
int SendCommand(char* lpszCommand);
};

CCommSerial::CCommSerial()
{
m_handle = NULL;
}

CCommSerial::~CCommSerial()
{
if(m_handle)
CloseHandle(m_handle);
}

int CCommSerial::Create(const char* lpszcPort) //lpszcPort == "COM1" pe.
{
m_handle = CreateFile(lpszcPort, GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, 0, NULL);

if (m_handle == INVALID_HANDLE_VALUE) {
m_dwError = GetLastError();
return 0;
}

DCB dcb;
if (!GetCommState(m_handle, &dcb)) {
m_dwError = GetLastError();
return 0;
}

dcb.BaudRate = CBR_2400;
dcb.ByteSize = 8;
dcb.StopBits = TWOSTOPBITS;
dcb.fParity = NOPARITY;
dcb.fOutX = TRUE;
dcb.fDtrControl = DTR_CONTROL_HANDSHAKE;
dcb.fRtsControl = RTS_CONTROL_ENABLE;

if (!SetCommState(m_handle, &dcb)) {
m_dwError = GetLastError();
return 0;
}

COMMTIMEOUTS cto;

if (!GetCommTimeouts(m_handle, &cto)) {
m_dwError = GetLastError();
return 0;
}

cto.ReadIntervalTimeout = MAXDWORD;
cto.ReadTotalTimeoutMultiplier = MAXDWORD;
cto.ReadTotalTimeoutConstant = MAXDWORD - 1;

if (!SetCommTimeouts(m_handle, &cto)) {
m_dwError = GetLastError();
return 0;
}

return 1;
}

int CCommSerial::SendCommand(char *lpszCommand)
{
char singleChar;

while ((singleChar = *lpszCommand++)) {
unsigned long numBytes;
if (!WriteFile(m_handle, &singleChar, 1, &numBytes, NULL)) {
m_dwError = GetLastError();
return 0;
}

//En caso de esperar un caracter de confirmación de envío
char outByte;
if (!ReadFile(m_handle, &outByte, 1, &numBytes, NULL)) {
m_dwError = GetLastError();
return 0;
}

}

return 1;
}



"Montealegre" escribió en el mensaje
news:
Gracias por tu tiempo, aunque abusando de tu amabilidad te comento que
quiero leer la info de una bascula que conectare al puerto serial RS232


sin
tuvieras algo de eso, en fin, De verdad gracias por la liga.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida