模拟实现向串口写数据
//#include <stdio.h>
#include <Windows.h>
int main()
{
//1.打开指定端口
HANDLE hComm = CreateFile("COM1", //串口名称
GENERIC_READ|GENERIC_WRITE, //串口属性:可读写
0, //串口设备必须被独占性的访问
NULL, //无安全属性
OPEN_EXISTING, //串口设备必须使用OPEN_EXISTING参数
FILE_ATTRIBUTE_NORMAL, //同步式I/O
0); //对于串口设备而言此参数必须为0
if(hComm == INVALID_HANDLE_VALUE){ //如果该串口不存在或者正被另外一个应用程序使用,
return FALSE; //则打开失败,本程序退出
}
//2.设置串口参数:波特率、数据位、校验位、停止位等信息
DCB dcb;
GetCommState(hComm,&dcb); //获取该端口的默认参数
dcb.BaudRate = 115200; //修改波特率
SetCommState(hComm,&dcb); //重新设置参数
//3.往串口写数据
char IpBuffer[] = "Hello world!"; //将要写入的数据
DWORD nNumberOfBytesToWrite =
strlen(IpBuffer); //将要写入的数据长度
DWORD nBytesSent; //实际写入的数据长度
WriteFile(hComm,IpBuffer,nNumberOfBytesToWrite,&nBytesSent,NULL);
//4.关闭串口
CloseHandle(hComm);
return 0;
}
转载于:https://my.oschina.net/imtoby/blog/72997