打印
[FPGA]

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

[复制链接]
1572|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

粉丝