读写串口函数(多线程),为何总是得不到想要的从串口读来字符(请看下面程序),求助

「已注销」 2006-04-27 09:36:57
void __fastcall TCbwSerialPort::ReceiveChar(TCbwSerialPort* port, COMSTAT comstat)
{
bool bRead = true;
bool bResult = true;
DWORD dwError = 0;
DWORD BytesRead = 0;
unsigned char RXBuff;

for (;;)
{
EnterCriticalSection(&port->m_csCommunicationSync);

bResult = ClearCommError(port->m_hComm, &dwError, &comstat);
LeaveCriticalSection(&port->m_csCommunicationSync);

if (comstat.cbInQue == 0)
break;

EnterCriticalSection(&port->m_csCommunicationSync);

if (bRead)
{
bResult = ReadFile(port->m_hComm,
&RXBuff,
1,
&BytesRead,
&port->m_ov);
if (!bResult)
{
switch (dwError = GetLastError())
{
case ERROR_IO_PENDING:
bRead = false;
break;
default:
port->ProcessErrorMessage("ReadFile()");
break;
}
}
else
{
bRead = true;
}
}

if (!bRead)
{
bRead = true;
bResult = GetOverlappedResult(port->m_hComm,
&port->m_ov,
&BytesRead,
true);
if (!bResult)
{
port->ProcessErrorMessage("GetOverlappedResults(in ReadFile()");
}
}

LeaveCriticalSection(&port->m_csCommunicationSync);


::SendMessage((port->m_pOwner)->Handle, WM_COMM_RXCHAR, (WPARAM)RXBuff, (LPARAM) port->m_nPortNr);

}//for
v3b.ReadFromPort(RXBuff);//明明读过来的是0x4F,为何这里调用后的RXBuff数据不是0x4F
}
...全文
383 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gzlcd 2006-04-29
  • 打赏
  • 举报
回复
一般windows中通讯时用到的字符串是TCHAR,不是普通的char,换一下试试!
lc2236 2006-04-28
  • 打赏
  • 举报
回复
what is "v3b"? RXBuff or &RXBuff?
内容概要:本文围绕虚拟电厂与电动汽车之间的互动关系,采用主从博弈理论构建了二者间的优化决策模型,并引入条件风险价值(CVaR)来衡量和管理电力系统中由可再生能源出力不确定性及电动汽车充放电行为带来的风险。通过Matlab代码实现该模型,旨在优化虚拟电厂的调度策略,在保障系统经济性的同时提升其对不确定因素的鲁棒性。研究涵盖了模型构建、算法设计与仿真验证全过程,重点分析了不同风险偏好下虚拟电厂与电动汽车的博弈均衡结果及其对系统运行的影响,深入探讨了主从博弈框架下的决策机制与CVaR在电力金融风险量化中的应用。; 适合人群:具备一定电力系统基础知识和Matlab编程能力,从事能源互联网、电力市场、电动汽车调度、风险管理等相关领域研究的研究生或科研人员。; 使用场景及目标:①研究虚拟电厂如何协调管理大量分布式能源与电动汽车资源;②探讨主从博弈在电力市场中的建模方法与求解技巧;③利用CVaR工具量化并控制电力系统运行中的金融或运行风险;④通过Matlab实现复杂优化模型并进行仿真分析。; 阅读建议:此资源结合了博弈论、风险管理和电力系统优化等多学科知识,建议读者在学习过程中重点关注模型假设的合理性、CVaR的应用逻辑以及Matlab代码的实现细节,宜配合相关理论教材与案例进行深入理解和复现。

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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