久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3499|回復(fù): 0
收起左側(cè)

【已經(jīng)解決,謝謝】CC2530 uart0 DMA通道1數(shù)據(jù)傳輸問(wèn)題,200元酬謝

[復(fù)制鏈接]
ID:210688 發(fā)表于 2017-6-13 10:29 | 顯示全部樓層 |閱讀模式
本帖最后由 sihhepl 于 2017-6-19 22:17 編輯

200元酬謝,請(qǐng)各位大俠幫我調(diào)下程序,謝謝啦!我的QQ:79422195,請(qǐng)標(biāo)注“51黑DMA”

我使用cc2530的DMA channel 1將接收到的串口(uart0)數(shù)據(jù)存儲(chǔ)在uartRxBuf內(nèi),程序如下。在中斷函數(shù)中,根據(jù)DMAIRQ的DMAIF1位是否置1來(lái)判斷是否傳輸完成DATA_COUNT字節(jié)的數(shù)據(jù)。如果DATA_COUNT為1,則程序沒(méi)有問(wèn)題,接收數(shù)據(jù)正常,如果DATA_COUNT大于1,則程序不能產(chǎn)生中斷。請(qǐng)各位大俠幫我看下程序,謝謝啦!

#define HAL_URX0_DMA_CH        1
#define DATA_COUNT              10
uint8 uartRxBuf[15] = {0};
void HalDma_uart( void )
{
    halDMADesc_t *ch;
    ch = HAL_DMA_GET_DESC1234(HAL_URX0_DMA_CH)
    ch->srcAddrH = HI_UINT16(&X_U0DBUF);
    ch->srcAddrL = LO_UINT16(&X_U0DBUF);
    ch->dstAddrH = HI_UINT16(uartRxBuf);
    ch->dstAddrL = LO_UINT16(uartRxBuf);
    ch->vLen     = 0x00;// Use fixed length DMA transfercount
    ch->lenH     = HI_UINT16(DATA_COUNT);
    ch->lenL     = LO_UINT16(DATA_COUNT);
    ch->wordSize =HAL_DMA_WORDSIZE_BYTE;// Perform 1-byte transfers
    ch->tMode   =HAL_DMA_TMODE_SINGLE;// Single byte transfer per DMA trigger
    ch->trig     = HAL_DMA_TRIG_URX0;// DMA trigger =USARTx RX complete
    ch->srcInc   = HAL_DMA_SRCINC_0;// Do not incrementsource pointer, points to USART U0BUF register.
    ch->destInc  = HAL_DMA_DSTINC_1;// Increment destinationpointer by 1 byte address after each transfer.
    ch->irqMask  = HAL_DMA_IRQMASK_DISABLE;// Enable DMAinterrupt to the CPU
    ch->m8       = HAL_DMA_M8_USE_8_BITS;// Use all 8bits for transfer count
    ch->priority =HAL_DMA_PRI_HIGH;// DMA memory access has low priority
     /* The DMAconfiguration data structure may reside at any location in
     * unified memoryspace, and the address location is passed to the DMA
     * through DMA1CFGH:DMA1CFGL.
     */
            HAL_DMA_CLEAR_IRQ(HAL_URX0_DMA_CH);
            HAL_DMA_SET_ADDR_DESC1234( ch );
    HAL_DMA_ARM_CH(HAL_URX0_DMA_CH); // Arm DMAchannel 1
    //apply 45 NOP's forloading DMA configuration   
    asm("NOP");asm("NOP");//45clk periods
    //Enable the DMAinterrupt (IEN1.DMAIE = IEN0.EA = 1),
    //and clear potentialpending DMA interrupt requests (IRCON.DMAIF = 0)
    IEN0 |= 0x80;
    IEN1 |= 0x01;
    IRCON &= ~0x02;
    // Enable UARTx RX
    U0CSR |= 0x40;  
}

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区免费观看 | 伊人最新网址 | 精品一二三区 | www4虎| 99久久久无码国产精品 | 精品久久久久久久久久久久 | 日日爱夜夜操 | 国产原创视频 | 亚洲三级视频 | 精品二区 | 丝袜美腿一区二区三区 | 国产精品久久久久久久久 | 91精品久久久久久久 | 亚洲日本免费 | 国产精品九九视频 | 毛片综合 | 国产欧美一区二区三区久久 | 久久99精品久久久久久噜噜 | 日本国产欧美 | 成人片免费看 | 日韩精品一区二区三区中文在线 | 午夜亚洲| 午夜私人影院在线观看 | 午夜成人在线视频 | 久久综合久久自在自线精品自 | 欧美成人a | 欧美日韩国产精品 | 欧美在线视频网 | 精品亚洲第一 | 国产区高清 | 黄色三级免费网站 | 观看av| 欧美日韩国产高清 | 国产精品视频在线播放 | 亚洲免费在线观看视频 | 亚洲一区免费视频 | 99久久99久久精品国产片果冰 | 午夜视频免费在线观看 | 成人免费淫片aa视频免费 | 日韩免费av网站 | 久久国产精品99久久久大便 |