BioUsb-线程中读取数据至缓冲以及将缓冲数据保存在m_ObArray中
2010-03-19 09:51
441 查看
程序数据流程大致是;
1、 读取线程每隔一段时间从usb设备端点取出数据至缓冲区,并发送消息通知主程序“读取已完成”。
2、 主程序(WindowProc())通过pDoc->AddFrames(&(pIO->pInBuffer[0]),dwCurNum);将缓冲区数据保存至数组m_ObArray中。
1. 读取线程每隔一段时间从usb设备端点取出数据至缓冲区,并发送消息通知主程序“读取已完成”。
2. 主程序(WindowProc())通过pDoc->AddFrames(&(pIO->pInBuffer[0]),dwCurNum);将缓冲区数据保存至数组m_ObArray中。
消息处理函数:
1、 读取线程每隔一段时间从usb设备端点取出数据至缓冲区,并发送消息通知主程序“读取已完成”。
2、 主程序(WindowProc())通过pDoc->AddFrames(&(pIO->pInBuffer[0]),dwCurNum);将缓冲区数据保存至数组m_ObArray中。
1. 读取线程每隔一段时间从usb设备端点取出数据至缓冲区,并发送消息通知主程序“读取已完成”。
DWORD WINAPI ThreadExecute_Read(PVOID pContext) { •••• if(!ReadFile(pUSBAPI->stRead.hDevice, pUSBAPI->stRead.pInBuffer, pUSBAPI->stRead.dwInSize, pUSBAPI->stRead.lpBytesReturned, //本周期已读取的字节数 &olRead)) { } SendMessage(pUSBAPI->stRead.hTargetWnd, MSG_READ_COMPLETION, 0, (LPARAM)&pUSBAPI->stRead); ••• }
2. 主程序(WindowProc())通过pDoc->AddFrames(&(pIO->pInBuffer[0]),dwCurNum);将缓冲区数据保存至数组m_ObArray中。
消息处理函数:
LRESULT CMainFrame::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { ••• DWORD dwCurNum = *(pIO->lpBytesReturned); ••• pDoc->AddFrames(&(pIO->pInBuffer[0]),dwCurNum); ••• }
void CScanViewerDoc::AddFrames(PBYTE pData,int wNums) { SetModifiedFlag(TRUE); SetPathName("Bioscan.scv*"); for( int i = 0;i<wNums;i++) { CDataFrame * pDataFrame = new CDataFrame(); pDataFrame->AddData(pData + i * EP_PACKET_SIZE); m_ObArray.Add(pDataFrame); } } void CDataFrame::AddData(PBYTE pData) { // char bDotOrder[16] = {16,32,30,46,28,44,26,42,24,40,22,38,20,36,18,34}; if(!pData) return; int i; for (i=0;i<EP_PACKET_SIZE;i++) { m_bData[i] = pData[i]; } } class CDataFrame : public CObject { protected: DECLARE_SERIAL(CDataFrame) BYTE m_bData[EP_PACKET_SIZE];//20 public: CDataFrame() {}; void AddData(PBYTE pData); virtual void Serialize(CArchive& ar); };
相关文章推荐
- R语言学习第五天----数据读取以及数据保存
- Java 读取excel指定行列数据以及将数据保存到txt文件中
- 流和文件:保存和读取字符级数据以及随机访问
- iOS-保存照片或者视频到自定义相薄中以及读取数据
- 批量读取文件夹下的DR8光谱数据,并完成显示保存图片以及统计Z和Obj的分布情况
- Word保存到数据以及读取的问题
- 安卓实训第十天:利用SharedPreferences来实现数据的保存和读取,以及实现手机电话备份,XMLserializer
- python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
- R语言读取空间数据以及ArcGIS中OLS工具回归结果可视化R语言版
- 一些关于线程用法的总结以及对上篇多线程同步、数据共享的补充
- python使用numpy读取、保存txt数据的实例
- XNA:保存数据到文件和从文件读取数据
- spark从hbase读取数据以及zookeeper坑
- Android采用File形式保存与读取数据的方法
- 按钮 防止两次点击以及使用事件transaction防止数据保存不完整
- 如何将pictureBox里的图片保存到数据库,然后从数据读取显示
- 通讯录包含保存文本数据和读取文本数据功能
- Unity 使用JSON实现本地数据保存和读取
- 线程读取串口数据
- Xml文件的读取以及通过GridView控件利用视图过滤器查询显示数据