Olá,
Seguinte, tenho uma placa com vários leds, tenho também um software de testes desta placa, neste programa eu informo o comando (uma sequencia de 8 caracteres) e ele acende o led do respectivo comando. O que eu quero é que meu programa faça exatamente o que este software de testes faz, quero informar o sequencia de caracteres para a placa a partir do meu programa. A placa utiliza comunicação USB, consegui reconhecer a porta USB que esta conectada no meu programa, só não consigo enviar o comando, segue abaixo o código que apenas reconhece se a placa está conectada. Agradeço muito se alguém pude me ajudar.
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
DCB dcb;
HANDLE hCom;
BOOL fSuccess;
char *pcCommPort = "COM6";
hCom = CreateFile( pcCommPort,
GENERIC_READ | GENERIC_WRITE,
0, // comm devices must be opened w/exclusive-access
NULL, // no security attributes
OPEN_EXISTING, // comm devices must use OPEN_EXISTING
0, // not overlapped I/O
NULL // hTemplate must be NULL for comm devices
);
if (hCom == INVALID_HANDLE_VALUE) {
// Handle the error.
printf ("CreateFile failed with error %d.\n", GetLastError());
return (1);
}
// We will build on the current configuration, and skip setting the size
// of the input and output buffers with SetupComm.
fSuccess = GetCommState(hCom, &dcb);
if (!fSuccess) {
// Handle the error.
printf ("GetCommState failed with error %d.\n", GetLastError());
return (2);
}
// Fill in the DCB: baud=57,600 bps, 8 data bits, no parity, and 1 stop bit.
dcb.BaudRate = CBR_57600; // set the baud rate
dcb.ByteSize = 8; // data size, xmit, and rcv
dcb.Parity = NOPARITY; // no parity bit
dcb.StopBits = ONESTOPBIT; // one stop bit
fSuccess = SetCommState(hCom, &dcb);
if (!fSuccess) {
// Handle the error.
printf ("SetCommState failed with error %d.\n", GetLastError());
return (3);
}
printf ("Serial port %s successfully reconfigured.\n", pcCommPort);
/// AQUI PRECISO ENVIAR A SEQUENCIA DE CARACTERES PARA A PLACA //////////
return (0);
}