C++中串口通信

来源:互联网 发布:ubuntu存储空间不足 编辑:程序博客网 时间:2024/05/22 00:09

串口通信代码

    HANDLE hUART1;

   CString data =_T("写入数据");

   DCBdcb;

   //*********打开串口***********//

   hUART1 = CreateFile(_T("\\\\.\\com3"),GENERIC_READ |GENERIC_WRITE, 0,NULL,OPEN_EXISTING, 0,NULL);

   //*********设置串口***********//

   GetCommState(hUART1, &dcb);

   dcb.BaudRate = 19200;

   dcb.Parity = 0;

   dcb.ByteSize = 8;

   dcb.StopBits = 1;

   SetCommState(hUART1, &dcb);

   //*********数据转换***********//

   char Data[8] = { 0 };

   wcstombs(Data, data, 7);

   //*********写数据***********//

   DWORD dwWrite;

   WriteFile(hUART1, Data, 7, &dwWrite, NULL);

   //*********读数据***********//

   Sleep(500);

   DWORD dwLen;

   DWORD dwWrite1;

   CString a;

   staticchar Data1[65536];

   ReadFile(hUART1, Data1, 65536,&dwWrite1, NULL);

   a.Format(_T("%s"), Data1);

   //*********关闭串口***********//

   CloseHandle(hUART1);