本文整理汇总了C++中PHAL_RUART_OP::HalRuartTxGdmaLoadDef方法的典型用法代码示例。如果您正苦于以下问题:C++ PHAL_RUART_OP::HalRuartTxGdmaLoadDef方法的具体用法?C++ PHAL_RUART_OP::HalRuartTxGdmaLoadDef怎么用?C++ PHAL_RUART_OP::HalRuartTxGdmaLoadDef使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHAL_RUART_OP
的用法示例。
在下文中一共展示了PHAL_RUART_OP::HalRuartTxGdmaLoadDef方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: serial_send_stream_dma
int32_t serial_send_stream_dma (serial_t *obj, char *ptxbuf, uint32_t len)
{
PHAL_RUART_OP pHalRuartOp;
PHAL_RUART_ADAPTER pHalRuartAdapter=(PHAL_RUART_ADAPTER)&(obj->hal_uart_adp);
u8 uart_idx = pHalRuartAdapter->UartIndex;
int32_t ret;
pHalRuartOp = &(obj->hal_uart_op);
if ((serial_dma_en[uart_idx] & SERIAL_TX_DMA_EN)==0) {
PUART_DMA_CONFIG pHalRuartDmaCfg;
pHalRuartDmaCfg = &obj->uart_gdma_cfg;
#if 0
pHalRuartOp->HalRuartTxGdmaLoadDef (pHalRuartAdapter, pHalRuartDmaCfg);
pHalRuartOp->HalRuartDmaInit (pHalRuartAdapter);
InterruptRegister(&pHalRuartDmaCfg->TxGdmaIrqHandle);
InterruptEn(&pHalRuartDmaCfg->TxGdmaIrqHandle);
serial_dma_en[uart_idx] |= SERIAL_TX_DMA_EN;
#else
if (HAL_OK == HalRuartTxGdmaInit(pHalRuartOp, pHalRuartAdapter, pHalRuartDmaCfg)) {
serial_dma_en[uart_idx] |= SERIAL_TX_DMA_EN;
}
else {
return HAL_BUSY;
}
#endif
}
ret = pHalRuartOp->HalRuartDmaSend(pHalRuartAdapter, (u8*)ptxbuf, len);
return (ret);
}
示例2: HalGdmaOpInit
/**
* Load UART HAL GDMA default setting
*
* Call this function to load the default setting for UART GDMA
*
*
*/
VOID
HalRuartTxGdmaInit(
PRUART_ADAPTER pRuartAdapter
)
{
PHAL_RUART_OP pHalRuartOp;
PHAL_RUART_ADAPTER pHalRuartAdapter;
PUART_DMA_CONFIG pUartGdmaConfig;
PHAL_GDMA_ADAPTER pHalGdmaAdapter;
if (NULL == pRuartAdapter) {
return;
}
pHalRuartOp = pRuartAdapter->pHalRuartOp;
pHalRuartAdapter = pRuartAdapter->pHalRuartAdapter;
pUartGdmaConfig = pRuartAdapter->pHalRuartDmaCfg;
if ((NULL == pHalRuartOp) || (NULL == pHalRuartAdapter) || (NULL == pUartGdmaConfig)) {
return;
}
// Load default setting
if (pHalRuartOp->HalRuartTxGdmaLoadDef != NULL) {
HalGdmaOpInit((VOID*) (pUartGdmaConfig->pHalGdmaOp));
pHalRuartOp->HalRuartTxGdmaLoadDef (pHalRuartAdapter, pUartGdmaConfig);
}
else {
// Initial your GDMA setting here
}
// Start to patch the default setting
pHalGdmaAdapter = (PHAL_GDMA_ADAPTER)pUartGdmaConfig->pTxHalGdmaAdapter;
pHalGdmaAdapter->GdmaIndex = 0; // GDMA0
pHalGdmaAdapter->ChNum = 4; // GDMA Channel
pHalGdmaAdapter->ChEn = GdmaCh4; // GDMA Channel Enable
// pUartGdmaConfig->TxGdmaIrqHandle.Data = pHalRuartAdapter;
pUartGdmaConfig->TxGdmaIrqHandle.IrqNum = GDMA0_CHANNEL4_IRQ;
// pUartGdmaConfig->TxGdmaIrqHandle.IrqFun = (IRQ_FUN)_UartTxDmaIrqHandle
pUartGdmaConfig->TxGdmaIrqHandle.Priority = 0x20;
pHalRuartOp->HalRuartDmaInit (pHalRuartAdapter);
InterruptRegister(&pUartGdmaConfig->TxGdmaIrqHandle);
InterruptEn(&pUartGdmaConfig->TxGdmaIrqHandle);
}