主题 : 求助:wince下如何从硬件上快速读取数据 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 66141
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2012-03-26
最后登录: 2013-03-18
楼主  发表于: 2013-03-18 14:00

 求助:wince下如何从硬件上快速读取数据

v_pFPGA_WaveData= (FPGA_WaveData*)VirtualAlloc(0,sizeof(FPGA_WaveData),MEM_RESERVE, PAGE_NOACCESS);
    if(v_pFPGA_WaveData==NULL)
    {
        AfxMessageBox(_T("FPGA_WaveData Alloc错"));
    }
    else
    {
        if(!VirtualCopy((PVOID)v_pFPGA_WaveData,(PVOID)(FPGA_WAVEDATA>>8),sizeof(FPGA_WaveData),PAGE_PHYSICAL | PAGE_READWRITE | PAGE_NOCACHE))
        {
            AfxMessageBox(_T("FPGA_WaveData Copy错"));
            if(v_pFPGA_WaveData)
                VirtualFree((PVOID)v_pFPGA_WaveData,0,MEM_RELEASE);
            v_pFPGA_WaveData = NULL;
        }
    }
    for(i=0;i<(604*201/2+30);i++)
    {

        ret=(v_pFPGA_WaveData->dwWaveData);
        g_nDPXData[2*i]=(U16)(ret&0xFFFF);
        g_nDPXData[2*i+1]=(U16)(ret>>16&0xFFFF);
    }
如上所示,现在可以从硬件上读大量数据,但是是一点一点慢慢读的,有没有更快的批量读过来的,比如在linux系统下的copy_to_user()就可以批量读数据。
级别: 新手上路
UID: 66141
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
贡献值: 0 点
综合积分: 8 分
注册时间: 2012-03-26
最后登录: 2013-03-18
1楼  发表于: 2013-03-18 14:07
求问啊,新手,请高手帮忙啊