[FPGA] 请教高手FPGA+USB+LABVIEW的数据采集的问题,想通过DMA传输,遇到困难,求救。

[复制链接]
1976|3
 楼主| smallsupersuper 发表于 2014-7-7 14:05 | 显示全部楼层 |阅读模式
本人想通过FPGA中的块传输发送数据,手边已有资料是从上位机到FPGA再返回上位机的块传输程序,现在我想从FPGA的DMA直接发送数据上去,现在找不到入口赋值,现上传程序请大家帮帮忙。
//包含头文件省略
unsigned short usbDataBuf[USB_BUF_MAX_SIZE];  //本来我认为上位机发下来的数据是先放在这里的,然后我对usbDataBuf[ ]赋值后,上位机收到的总是0.然后我后WATCH窗口调试,发现数组中始终是0,尽管上位机已发送数据。我疑惑DMA到底数据放在哪的,在哪赋值,怎样赋值,我怎样才自己赋值到上位机。
int main()
{
    int n;
//    memset(usbDataBuf,0,USB_BUF_MAX_SIZE *2);
    alt_dma_txchan o_usbdma;
    alt_dma_rxchan i_usbdma;
    memset(usbDataBuf,0,USB_BUF_MAX_SIZE *2);  
    if(Initial_InDMA(&i_usbdma) < 0 || Initial_OutDMA(&o_usbdma) < 0)   return 0;//初始化已省略
    while(1)
    {               
        while(IsFLAGB())
        {                     
            if(Read(&i_usbdma,usbDataBuf)<0) return 0;
            while(!IsInDone());
            while(!IsFLAGC());
            if(Write(&o_usbdma,usbDataBuf)>0) return 0;
            while(!IsOutDone());
        }
    }
int Write(alt_dma_txchan *pDMAOut,void* pOutBuf)
{
    out_done=0;
    return alt_dma_txchan_send(*pDMAOut,pOutBuf,USB_BUF_MAX_SIZE*2,OutDone,NULL);
}
int Read(alt_dma_rxchan *pDMAIn,void* pInBuf)
{
    in_done=0;
    return alt_dma_rxchan_prepare(*pDMAIn,pInBuf,USB_BUF_MAX_SIZE*2,InDone,NULL);
}
//请高手帮帮忙,不胜感激。
gaochy1126 发表于 2014-7-11 14:37 | 显示全部楼层
这个还真没有做过呢
gaochy1126 发表于 2014-7-11 14:38 | 显示全部楼层
你是指读取地址?
风魔小象 发表于 2015-1-8 17:54 | 显示全部楼层
没搞过这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

4

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部