• 大小: 8.89MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-05
  • 语言: 其他
  • 标签: 通信  

资源简介

有两个程序,一个是win32控制程序,另一个是ARDUINO程序。下载下来后可以直接通信

资源截图

代码片段和文件信息

#include 
#include 


HANDLE hCom;

int main(void)
{

hCom = CreateFile(TEXT(“com6“)//COM1口
GENERIC_READ | GENERIC_WRITE //允许读写
0 //指定共享属性,由于串口不能共享,所以该参数必须为0
NULL
OPEN_EXISTING //打开而不是创建

FILE_ATTRIBUTE_NORMAL //属性描述,该值为FILE_FLAG_OVERLAPPED,表示使用异步I/O,该参数为0,表示同步I/O操作
NULL);

if (hCom == INVALID_HANDLE_VALUE)
{
printf(“打开COM失败!\n“);
return FALSE;
}
else
{
printf(“COM打开成功!\n“);
}

SetupComm(hCom 1024 1024); //输入缓冲区和输出缓冲区的大小都是1024

 /*********************************超时设置**************************************/
COMMTIMEOUTS TimeOuts;
//设定读超时
TimeOuts.ReadIntervalTimeout =1000 ;//读间隔超时MAXDWORD
TimeOuts.ReadTotalTimeoutMultiplier =500;//读时间系数
TimeOuts.ReadTotalTimeoutConstant =5000;//读时间常量
  //设定写超时
TimeOuts.WriteTotalTimeoutMultiplier = 500;//写时间系数
TimeOuts.WriteTotalTimeoutConstant = 2000;//写时间常量
SetCommTimeouts(hCom &TimeOuts); //设置超时

 /*****************************************配置串口***************************/
DCB dcb;
GetCommState(hCom &dcb);
dcb.BaudRate = 9600; //波特率为9600
dcb.ByteSize = 8; //每个字节有8位
dcb.Parity = NOPARITY; //无奇偶校验位
dcb.StopBits = ONESTOPBIT; //一个停止位
dcb.fParity = FALSE;
dcb.fNull = FALSE;
SetCommState(hCom &dcb);
/********************************************
DWORD wCount;//实际读取的字节数
bool bReadStat;

char str[14] = { 0 };
/*******************************/

/**************************/
char lpOutBuffer[] = {“123“};

DWORD dwBytesWrite = sizeof(lpOutBuffer);

COMSTAT ComStat;

DWORD dwErrorFlags;

BOOL bWriteStat;





/*************************/
PurgeComm(hCom PURGE_TXCLEAR | PURGE_RXCLEAR); //清空缓冲区
while (1)
{
ClearCommError(hCom &dwErrorFlags &ComStat);
   
 bWriteStat = WriteFile(hCom lpOutBuffer dwBytesWrite &dwBytesWrite NULL);
          Sleep(1500);
//INT32 i;
//for (i = 0; i < 100000; i++);

if (!bWriteStat) { printf(“写串口失败!“); }
else printf(“we are family!\n“);











/********************************************
PurgeComm(hCom PURGE_TXCLEAR | PURGE_RXCLEAR); //清空缓冲区
bReadStat = ReadFile(hCom str sizeof(str) &wCount NULL);

if (!bReadStat)
{
printf(“读串口失败!“);
return FALSE;
}
else
{
//str[1] = ‘\0‘;
int i;
for(i=0;i<=13;i++)
printf(“%c\n“ str[i]);
}
/*************************************/

}

CloseHandle(hCom);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     30720  2018-07-27 18:36  win32通信arduino\serial-test\.vs\seroal-test\v14\.suo

     文件       2667  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\main.cpp

     文件       7380  2018-07-24 21:39  win32通信arduino\serial-test\seroal-test\seroal-test.vcxproj

     文件        945  2018-07-24 21:39  win32通信arduino\serial-test\seroal-test\seroal-test.vcxproj.filters

     文件       4695  2018-07-24 20:55  win32通信arduino\serial-test\seroal-test\TEST.cpp

     文件      31011  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\main.obj

     文件        955  2018-07-24 22:06  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.Build.CppClean.log

     文件        202  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.log

     文件        638  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\CL.command.1.tlog

     文件      20170  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\CL.read.1.tlog

     文件        532  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\CL.write.1.tlog

     文件       1260  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\link.command.1.tlog

     文件       2652  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\link.read.1.tlog

     文件        518  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\link.write.1.tlog

     文件        200  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\seroal-test.lastbuildstate

     文件     535552  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\vc140.idb

     文件     176128  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\vc140.pdb

     文件       1315  2018-07-24 16:16  win32通信arduino\serial-test\seroal-test.sln

     文件   36810752  2018-07-27 18:36  win32通信arduino\serial-test\seroal-test.VC.db

     文件      60928  2018-07-25 16:17  win32通信arduino\serial-test\x64\Debug\seroal-test.exe

     文件     414944  2018-07-25 16:17  win32通信arduino\serial-test\x64\Debug\seroal-test.ilk

     文件     716800  2018-07-25 16:17  win32通信arduino\serial-test\x64\Debug\seroal-test.pdb

     文件       1185  2018-07-25 16:19  win32通信arduino\serialw_win32\serialw_win32.ino

     目录          0  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog

     目录          0  2018-07-24 16:16  win32通信arduino\serial-test\.vs\seroal-test\v14

     目录          0  2018-07-25 16:17  win32通信arduino\serial-test\seroal-test\x64\Debug

     目录          0  2018-07-24 16:16  win32通信arduino\serial-test\.vs\seroal-test

     目录          0  2018-07-24 16:20  win32通信arduino\serial-test\seroal-test\x64

     目录          0  2018-07-24 22:06  win32通信arduino\serial-test\x64\Debug

    ...D.H.         0  2018-07-24 16:16  win32通信arduino\serial-test\.vs

............此处省略9个文件信息

评论

共有 条评论