
下面代码是接收到的数据在发回去的代码。COM2为端口名称,根据实际进行更改!
#include#include #include #define debug(...) printf(__VA_ARGS__) int main(void) { DCB dcb; HANDLE hCom; COMMTIMEOUTS CommTimeouts; DWORD wRead, wWrite; WINBOOL bReadStat; char hj212_string[1500]; hCom = CreateFile(TEXT("COM2"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if(hCom == INVALID_HANDLE_VALUE) { debug("Can not open COM2 !rn"); return -1; }else { debug("Open COM2 Successfully !rn"); } // 设置读写缓存大小 SetupComm(hCom, 2048, 2048); //设定读超时 CommTimeouts.ReadIntervalTimeout = MAXDWORD;//读间隔超时 CommTimeouts.ReadTotalTimeoutMultiplier = 0;//读时间系数 CommTimeouts.ReadTotalTimeoutConstant = 0;//读时间常量 //设定写超时 CommTimeouts.WriteTotalTimeoutMultiplier = 1;//写时间系数 CommTimeouts.WriteTotalTimeoutConstant = 1;//写时间常量 SetCommTimeouts(hCom, &CommTimeouts); //设置超时 GetCommState(hCom, &dcb); dcb.BaudRate = 9600; //波特率为9600 dcb.ByteSize = 8; //每个字节有8位 dcb.Parity = NOPARITY; //无奇偶校验位 dcb.StopBits = ONESTOPBIT; //一个停止位 SetCommState(hCom, &dcb); while(1) { wRead = 0; bReadStat = ReadFile(hCom, hj212_string, sizeof(hj212_string), &wRead, NULL); if(bReadStat && wRead != 0) { WriteFile(hCom, hj212_string, wRead, &wWrite, NULL); } } CloseHandle(hCom); }
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)