模拟实现向串口写数据

//#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;
}

你可能感兴趣的:(模拟向串口写数据)