资源简介
有两个程序,一个是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\li
文件 2652 2018-07-25 16:17 win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\li
文件 518 2018-07-25 16:17 win32通信arduino\serial-test\seroal-test\x64\Debug\seroal-test.tlog\li
文件 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个文件信息
相关资源
- 通信系统第四版英文版答案01
- 移动通信中的阵列天线技术.pdf
- 宽带无线数字通信
- 数字通信(digital communication)第五版
- 通信电子线路.pdf
- 无线通信原理与应用习题答案(第二
- 基于SOPC的uart通信工程包
- TCP CLIENT.zip
- 樊昌信 通信原理 第五版
- 南邮通信原理PPT 第五版的樊昌信
- 论文研究-基于ISAP的D2D资源分配优化算
- MINA TCP简单通信
- 空时编码原理与实践!
- 基于wifi的简单空气质量检测app代码程
- 通信电子线路习题答案(严国萍)
- 通信原理第6版学习辅导与考研指导第
- STM32和CC2530串口通信
- FPC1020AM.7z
- 移动通信_第四版_李东健_课后答案[
- 北邮通信原理 第三版 周炯槃 课后习
- stm32韦根通信协议
- FPGA实现IIC通信.zip
- STM32F407ZGT6串口通信源码
- 移动无线通信习题答案
- STM32串口中断接收发送数据
- STM32Cube HAL库操作系统+CAN收发配置
- 北邮通信原理第三版课后答案
- 数字通信系统中的帧检测和频偏校正
- 数字通信系统中BPSK/ 4-QAM调制与脉冲成
- 百度贴吧安卓客户端网络通信行为分
评论
共有 条评论