资源简介
VS与单片机串口数据传输、计算机与单片机通信 在VS2017里写的,亲测可用
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
HANDLE hComm;
OVERLAPPED OverLapped;
COMSTAT Comstat;
DWORD dwCommEvents;
bool OpenPort(); //打开串口
bool SetupDCB(int rate_arg); //设置DCB
bool SetupTimeout(DWORD ReadInterval DWORD ReadTotalMultiplier DWORD
ReadTotalConstant DWORD WriteTotalMultiplier DWORD WriteTotalConstant); //设置超时
void ReciveChar(); //接收字符
bool WriteChar(char* szWriteBuffer DWORD dwSend); //发送字符
bool OpenPort()
{
hComm = CreateFile(L“COM3“//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!此处更改com口!!!!!!!!!!!!!!!
GENERIC_READ | GENERIC_WRITE
0
0
OPEN_EXISTING
FILE_FLAG_OVERLAPPED
0);
if (hComm == INVALID_HANDLE_VALUE)
return FALSE;
else
return true;
}
bool SetupDCB(int rate_arg)
{
DCB dcb;
memset(&dcb 0 sizeof(dcb));
if (!GetCommState(hComm &dcb))//获取当前DCB配置
{
return FALSE;
}
dcb.DCBlength = sizeof(dcb);
/* ---------- Serial Port Config ------- */
dcb.BaudRate = rate_arg;
dcb.Parity = NOPARITY;
dcb.fParity = 0;
dcb.StopBits = ONESTOPBIT;
dcb.ByteSize = 8;
dcb.fOutxCtsFlow = 0;
dcb.fOutxDsrFlow = 0;
dcb.fDtrControl = DTR_CONTROL_DISABLE;
dcb.fDsrSensitivity = 0;
dcb.fRtsControl = RTS_CONTROL_DISABLE;
dcb.fOutX = 0;
dcb.fInX = 0;
dcb.fErrorChar = 0;
dcb.fBinary = 1;
dcb.fNull = 0;
dcb.fAbortonerror = 0;
dcb.wReserved = 0;
dcb.XonLim = 2;
dcb.XoffLim = 4;
dcb.XonChar = 0x13;
dcb.XoffChar = 0x19;
dcb.EvtChar = 0;
if (!SetCommState(hComm &dcb))
{
return false;
}
else
return true;
}
bool SetupTimeout(DWORD ReadInterval DWORD ReadTotalMultiplier DWORD
ReadTotalConstant DWORD WriteTotalMultiplier DWORD WriteTotalConstant)
{
COMMTIMEOUTS timeouts;
timeouts.ReadIntervalTimeout = ReadInterval;
timeouts.ReadTotalTimeoutConstant = ReadTotalConstant;
timeouts.ReadTotalTimeoutMultiplier = ReadTotalMultiplier;
timeouts.WriteTotalTimeoutConstant = WriteTotalConstant;
timeouts.WriteTotalTimeoutMultiplier = WriteTotalMultiplier;
if (!SetCommTimeouts(hComm &timeouts))
{
return false;
}
else
return true;
}
void ReciveChar()
{
bool bRead = TRUE;
bool bResult = TRUE;
DWORD dwError = 0;
DWORD BytesRead = 0;
char RXBuff;
for (;;)
{
bResult = ClearCommError(hComm &dwError &Comstat);
if (Comstat.cbInQue == 0)
continue;
if (bRead)
{
bResult = ReadFile(hComm //通信设备(此处为串口)句柄,由CreateFile()返回值得到
&RXBuff //指向接收缓冲区
1 //指明要从串口中读取的字节数
&BytesRead //
&OverLapped); //OVERLAPPED结构
std::cout << RXBuff << std::endl;
if (!bResult)
{
switch (dwError == GetLastError())
{
case ERROR_IO_PENDING:
bRead = FALSE;
break;
default:
break;
}
}
}
else
{
bRead = TRUE;
}
}
if (!bRead)
{
bRead = TRUE;
bResult = GetOverlappedResult(hComm
&OverLapped
&BytesRead
TRUE)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 415 2017-08-11 00:34 VS与单片机串口数据传输\readme.txt
文件 71680 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\Debug\test2.exe
文件 812020 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\Debug\test2.ilk
文件 1174528 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\Debug\test2.pdb
文件 3806 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.log
文件 1434 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.tlog\cl.command.1.tlog
文件 22128 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.tlog\CL.read.1.tlog
文件 624 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.tlog\CL.write.1.tlog
文件 3490 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.tlog\li
文件 4618 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.tlog\li
文件 608 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.tlog\li
文件 233 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\test2.tlog\test2.lastbuildstate
文件 1240064 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\vc120.idb
文件 438272 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\vc120.pdb
文件 186805 2018-04-05 03:02 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\Debug\源.obj
文件 4081 2017-08-11 00:23 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\test2.vcxproj
文件 944 2017-08-11 00:23 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\test2.vcxproj.filters
文件 4718 2018-04-05 03:04 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2\源.cpp
文件 31916032 2018-04-05 03:54 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2.sdf
文件 961 2017-08-11 00:20 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2.sln
..A..H. 30720 2018-04-05 03:54 VS与单片机串口数据传输\win32控制台程序发送串口数据\test2.v12.suo
文件 89088 2017-08-11 00:15 VS与单片机串口数据传输\摄像头识小球串口发送数据\Debug\test.exe
文件 618704 2017-08-11 00:15 VS与单片机串口数据传输\摄像头识小球串口发送数据\Debug\test.ilk
文件 2026496 2017-08-11 00:15 VS与单片机串口数据传输\摄像头识小球串口发送数据\Debug\test.pdb
文件 19968 2017-08-10 23:53 VS与单片机串口数据传输\摄像头识小球串口发送数据\Release\test.exe
文件 1297408 2017-08-10 23:54 VS与单片机串口数据传输\摄像头识小球串口发送数据\Release\test.pdb
文件 3242 2017-08-11 00:15 VS与单片机串口数据传输\摄像头识小球串口发送数据\test\Debug\test.log
文件 596 2017-08-11 00:15 VS与单片机串口数据传输\摄像头识小球串口发送数据\test\Debug\test.tlog\cl.command.1.tlog
文件 25198 2017-08-11 00:15 VS与单片机串口数据传输\摄像头识小球串口发送数据\test\Debug\test.tlog\CL.read.1.tlog
文件 384 2017-08-11 00:15 VS与单片机串口数据传输\摄像头识小球串口发送数据\test\Debug\test.tlog\CL.write.1.tlog
............此处省略40个文件信息
- 上一篇:Unity3D 枪口火焰特效 游戏素材 资源包
- 下一篇:VSCode安装包X64
相关资源
- 全国大学生计算机PPT设计大赛作品p
- 计算机病毒与木马程序设计剖析
- 计算机网络第7版_谢希仁 高清非图片
- 计算机视觉:算法与应用.[美]Richard
- 计算机视觉 - 算法与应用 中文版 高清
- The Definitive Guide to ARM Cortex-M3 and Cort
- 计算机组成原理唐朔飞PPT
- 计算机本科毕业论文最新20篇
- CCF中学生计算机程序设计入门篇清晰
- 王道操作系统考研视频讲解+课后习题
- 计算机网络第5版高清严伟、潘爱民译
- 南京理工大学计算机网络课件
- 计算机体系结构第二版---张晨曦 带书
- 计算机系统结构第二版郑纬民汤志中
- 《《计算机软件文档编制规范》GB-T
- 计算机图形学-基于3D图形开发技术1
- 计算机视觉_一种现代方法.英文版.p
- 计算机动画算法与技术 Computer Animat
- 基于STM32单片机与12864液晶的万年历时
- 计算机组成与系统结构-袁春风.pdf
- 计算机系统结构ppt课件李学干2012年
- 现代微机原理与接口技术.pdf
- 02325计算机系统结构历年考试试卷及答
- 计算机系统结构学习指导与题解
- 计算机体系结构 张晨曦 第二版
- 计算机系统结构-量化研究方法(中文
- 计算机组成原理 罗克露答案
- 程序员的自我修养--链接、装载与库(
- 普中51单片机开发攻略--A7.pdf
- STC89c52系列单片机完全源代码
评论
共有 条评论