如何用VC从串口中读写数据,请给各位大虾给予帮助。

winne_ll 2002-01-31 10:32:53
对COM1或COM2口写操作是可以的,但是如何从串口中读数据,它是用于与单片机通讯的,请大家帮忙。
...全文
170 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
garping 2002-02-01
  • 打赏
  • 举报
回复
读写串口如下:
HANDLE hComm1;
hComm1=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
if(hComm1==(HANDLE)-1)
AfxMessageBox("Printer1 initialize error!",MB_OK); //COM1

SetCommMask(hComm1,EV_RXFLAG);
SetupComm(hComm1,8192,8192);
GetCommState(hComm1,&dcb);
dcb.BaudRate=9600;
dcb.fRtsControl=RTS_CONTROL_ENABLE;
dcb.fDtrControl=DTR_CONTROL_ENABLE;
SetCommState(hComm1,&dcb);
ClearCommError(hComm1,&dwErrorFlag,&comState);
ReadFile(hComm1,cReadBuffer,dwLength,&dwLength,&ovReadOs);
WriteFile(hComm1,cReadBuffer,dwLength,&dwLength,&ovReadOs);
即可!!
garping 2002-02-01
  • 打赏
  • 举报
回复
读写串口如下:
HANDLE hComm1;
hComm1=CreateFile("COM1",GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
if(hComm1==(HANDLE)-1)
AfxMessageBox("Printer1 initialize error!",MB_OK); //COM1

SetCommMask(hComm1,EV_RXFLAG);
SetupComm(hComm1,8192,8192);
GetCommState(hComm1,&dcb);
dcb.BaudRate=9600;
dcb.fRtsControl=RTS_CONTROL_ENABLE;
dcb.fDtrControl=DTR_CONTROL_ENABLE;
SetCommState(hComm1,&dcb);
ClearCommError(hComm1,&dwErrorFlag,&comState);
ReadFile(hComm1,cReadBuffer,dwLength,&dwLength,&ovReadOs);
WriteFile(hComm1,cReadBuffer,dwLength,&dwLength,&ovReadOs);
即可!!
qiuanhong 2002-01-31
  • 打赏
  • 举报
回复
写:WriteFile()
读:ReadFile()
bskay 2002-01-31
  • 打赏
  • 举报
回复
CreateFile
mengko 2002-01-31
  • 打赏
  • 举报
回复
go to see here http://roaringwind.best.163.com/
zhaotao0982 2002-01-31
  • 打赏
  • 举报
回复
有一个Mscomm的控件,你可以看一下,它可以进行串行通讯
yleng 2002-01-31
  • 打赏
  • 举报
回复
要先定义一个数组来存放要读的数据,用函数ReadFile().

1,662

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 非技术类
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧