C++ 编写与CH375的测试程序

一行乱码 2009-05-12 04:32:37
我在vs2008中编写了测试程序 然后在文件中加入了#include “CH375DLL.H” #pragma command(lib,CH375DLL)
能够打开设备
但是在读取数据的时候只能进行一次写数据 然后就不能再正确的读写了 不知道哪里有错误 我的代码如下 希望各位大大帮忙

	UCHAR ReadBuf[mCH375_PACKET_LENGTH*8];//define obuf
UCHAR WriteBuf[mCH375_PACKET_LENGTH-10];//define ibuf
ULONG len,mTotal;
BOOL wFlg=false,rFlg=false;
if(!bflag)
{
MessageBox(L"设备没能打开\n请先打开设备再进行操作",L"读取数据出错",MB_OK|MB_ICONSTOP);

}
else
{
CH375SetTimeout( iIndex, 2000, 2000 );
CH375SetBufUpload(iIndex,1);
CH375SetBufDownload(iIndex,1);
WriteBuf[0]=TEST_START1; // 我们在计算机和单片机的应用程序之间约定下传数据的首字节是命令码
mTotal=1;
wFlg=CH375WriteData( iIndex, &WriteBuf, &mTotal );
if (wFlg) // 发送成功
{
MessageBox(L"写数据0x05成功",L"write data",MB_OK); //这个地方的messagebox能够正确的显示
}
wFlg=false;
WriteBuf[0]=NULL;
WriteBuf[0]=TEST_START2; // 我们在计算机和单片机的应用程序之间约定下传数据的首字节是命令码
mTotal=sizeof(WriteBuf[0]);
wFlg=CH375WriteData(iIndex, &WriteBuf, &mTotal );//单步调试发现执行完以后此处的wFlg的数据是0 if ( wFlg) // 发送成功
{
MessageBox(L"写数据0x33成功",L"write data",MB_OK);
}
len=64;
rFlg=CH375ReadData(iIndex, &ReadBuf, &len ); //单步调试发现执行完以后此处的rFlg的数据是0
if(rFlg)
{
MessageBox(L"读数据成功",L"Read data",MB_OK);
}
}
...全文
177 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
一行乱码 2009-05-13
  • 打赏
  • 举报
回复
厄~没有专家大大回复呢~
一行乱码 2009-05-13
  • 打赏
  • 举报
回复
问题已经解决了
不是程序的问题
而是由于我用单步调试,所以造成了延时
故而在读写第一次后出现错误

ps:
虽然没有专家大大回答问题
但刚好10分就平分给2楼和3楼喽~
呵呵
黑夜愁客 2009-05-12
  • 打赏
  • 举报
回复
up 支持
liliangbao 2009-05-12
  • 打赏
  • 举报
回复
up

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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