串口API编程writefile问题

heroallen1981 heroallen1981 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
BOOL CMytest080623Dlg::WriteCom(char *lpBuf,DWORD dwToWrite)
{
DWORD dwWrite;

BOOL fRes;
BOOL tmp;
unsigned long err;
// char BYTE[7] = {"abcdef"};
Wol.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if(Wol.hEvent == NULL) return FALSE; //create Event Fail
//err = GetLastError();
tmp = WriteFile(hCom,lpBuf,dwToWrite,&dwWrite,&Wol);
if(!tmp)
{
err = GetLastError();
if(GetLastError() != ERROR_IO_PENDING)
fRes = FALSE; //Write File Fail
else
{
if(!GetOverlappedResult(hCom, &Wol, &dwWrite, TRUE))
fRes = FALSE; //overlapped Write File Fail
else
fRes = TRUE;
}
}
else
fRes = TRUE;
CloseHandle(Wol.hEvent);
return fRes;

}

在WriteFile()使用后使用GetLastError()得到sys error值为87 即参数不对,但我认为参数是对的。。不知道怎么回事,忘高手指教。。。
...全文

相关推荐

MFC.zip_CreateFile串口_MFC 串口编程_mfc 串口_mfc 串口读写_串口 WriteFile

MFC串口通信编程详解,主要介绍了用CreateFile()函数和WriteFile()函数读写串口的实例,以及设置 串口属性的实例.

林当时

VC++与Turbo C串口通信编程实践:源码解析与调试指南

串口通信作为嵌入式与工控领域最基础的数据交互方式,其核心在于理解数据位、波特率、校验位等参数协商机制。在Windows环境下,Visual C++通过CreateFile与DCB结构体操作串口,而DOS环境下Turbo C则直接控制8250/16550 UART寄存器,两者路径迥异但原理相通。掌握寄存器级操作、中断接收与环形缓冲区设计,能帮助你从根本上理解串口时序与数据流控制。面对老源码在新系统上的编译兼容、乱码、丢字节等工程痛点,从API调用到底层寄存器配置,从同步阻塞到异步事件驱动,系统化的排查思路往往

汤汤七号

基于MFC的API串口编程 十六进制发收

基于API函数的串口编程 并有十六进制发收

yinxiaolinzoe

基于WINDOWS API函数的串口读写小程序

基于WINDOWS API函数的串口读写小程序,应用CreateFile,ReadFile,WritFile 实现数据的发送和接收,功能简单,但是对于初学者很实用。

tqwtshh

C#使用SerialPort和API串口的例子

一个集成了SerialPort和API方式实现串口通信的例子.注意线程操作UI的部分图方便使用了不安全的代码,建议改为委托

於黾
评论 4
收藏 已收藏
分享
返回顶部
heroallen1981
界面 15,976 成员 115,866 内容