阅读:1623回复:1
麻烦帮我看下这个代码片段
//清除DMA Channel x中断
HAL_PLX9656_REG_WRITE_BYTE(plxRegAddr, PLX9656_DMACSR0, 0x8); //确认打开了DMA Channel x Done Interrupt,DMA Channel 0 Clear Count Mode.(0xe2100080) _PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMAMODE0,0x20443); //写DMA Channel 0 PCI Address,(0xE2100084) HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMAPADR0, ubpHAL_PLX9656_BufferBase); //写DMA Channel 0 Local Address,(0xE2100088) HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMALADR0, fifoBase); //写要传输的字节数,(0xE210008C) HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMASIZ0, IBUFFER_SIZE); //向DMA Channel x Descriptor Pointer寄存器中写值,设置传输方向(0xE2100090) HAL_PLX9656_REG_WRITE_WORD(plxRegAddr, PLX9656_DMADPR0, 0x8); //使能DMA Channel x,开始传输DMA HAL_PLX9656_REG_WRITE_BYTE(plxRegAddr, PLX9656_DMACSR0, 0x3); 这是我给一块plx9656板卡写的驱动中的片段,要启用DMA来传输FIFO中的数据,麻烦大家帮我看看流程对不对。 我的驱动程序将数据传输后,不能得到正确的结果。 |
|
驱动中牛
|
沙发#
发布于:2008-02-28 16:28
沙发,哈哈,帮你顶
|