#include <vcl.h>
HANDLE hcom=INVALID_HANDLE_VALUE;
const char *port_name[4]={
"COM1",
"COM2",
"COM3",
"COM4"
};
const char *baud_rate[5]={
"12,",
"24,",
"48,",
"96,",
"192,"
};
const char *check_sum[3]={
"n,8,1",
"o,8,1",
"e,8,1"
};
void Reset_Com(BYTE baud,BYTE parity)
{
COMMTIMEOUTS temptime;
DCB testdcb;
char para_str[256];
strcpy(para_str,baud_rate[baud]);
strcat(para_str,check_sum[parity]);
BuildCommDCB(para_str,&testdcb);
SetCommState(hcom,&testdcb);
temptime.ReadIntervalTimeout=200;
temptime.ReadTotalTimeoutMultiplier=500;
temptime.ReadTotalTimeoutConstant=500;
temptime.WriteTotalTimeoutMultiplier=500;
temptime.WriteTotalTimeoutConstant=500;
SetCommTimeouts(hcom,&temptime);
}
BYTE Create_Com(BYTE com,BYTE band,BYTE parity)
{
if(hcom!=INVALID_HANDLE_VALUE)
CloseHandle(hcom);
hcom=CreateFile(port_name[com],(GENERIC_READ | GENERIC_WRITE),(FILE_SHARE_READ | FILE_SHARE_WRITE),NULL,OPEN_EXISTING,0,0);
if (hcom!=INVALID_HANDLE_VALUE)
{
Reset_Com(band,parity);
return 1;
}
return 0;
}
BYTE ReadCom(char *buf,BYTE length)
{
DWORD readed;
if(hcom==INVALID_HANDLE_VALUE)return 0;
ReadFile(hcom,buf,length,&readed,0);
if(length==readed)return length;
else
return 0;
}
BYTE WriteCom(char *buf,BYTE length)
{
DWORD writed;
if(hcom==INVALID_HANDLE_VALUE)return 0;
WriteFile(hcom,buf,length,&writed,0);
if(length==writed)return length;
else
return 0;
}
void Close_Com()
{
if(hcom!=INVALID_HANDLE_VALUE)
CloseHandle(hcom);
hcom=INVALID_HANDLE_VALUE;
}
fangjing30
- 粉丝: 0
- 资源: 2
最新资源
- MATLAB环境下,运用遗传GA算法求解函数极值问题demo代码,采用实数编码方式,非均匀变异算子进行变异,轮盘转法进行选择 适合初学者快速入门上手,有详细的注释和使用说明
- linux常用命令大全.txt
- linux常用命令大全.txt
- linux常用命令大全.txt
- 魔术公式 制动转向联合工况 椭圆曲线
- Linux相关技术的cmd、.net6、Git、Docker、Vim常用命令汇总
- 时间序列处理移动平均法预测未来值MATLAB代码
- 开关电源方案550w高效率LLC电源图纸24V7.5A+48V7.5A 包含原理图pcb
- 粒子群 遗传 灰狼 磷虾群算法matlab 擅长各种智能算法程序,可实现传统算法和改进算法对比分析,可以实现单目标和多目标,并生成帕累托最优解集,该部分有现有程序和定制部分,咨询后拿后,程序本人编制
- MySQL数据库核心技术与SQL语言应用实例解析
- 美萍酒店管理标准版v67
- 伺服中的7系完整方案,代码原理图,说明资料,非常全,1G多完整工程 可直接用
- 指数平滑法预测时间序列数据的未来值MATLAB代码
- 西门子PLC S7-1200和变频器Modbus RTU 通 讯,有自录4平,盗卖请绕行,4平已保护,托利多电子称modbus RTU通讯 西门子1200 PID 温度控制 PID温度控制已写好FB块
- SunloginClient-15.8.0.18235-x64
- 上位机软件源码 485通讯
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈