/****************************************************************************** * @fn HalDMAInit * * @brief DMA Interrupt Service Routine * * @param None * * @return None *****************************************************************************/ HAL_ISR_FUNCTION( halDmaIsr, DMA_VECTOR ) { DMAIF = 0; if (ZNP_CFG1_UART == znpCfg1) { if (HAL_DMA_CHECK_IRQ(HAL_DMA_CH_TX)) { extern void HalUARTIsrDMA(void); HalUARTIsrDMA(); } } else { if ( HAL_DMA_CHECK_IRQ( HAL_DMA_CH_RX ) ) { HAL_DMA_CLEAR_IRQ( HAL_DMA_CH_RX ); HalSpiRxIsr(); } if ( HAL_DMA_CHECK_IRQ( HAL_DMA_CH_TX ) ) { HAL_DMA_CLEAR_IRQ( HAL_DMA_CH_TX ); HalSpiTxIsr(); } } }
/****************************************************************************** * @fn HalDMAInit * * @brief DMA Interrupt Service Routine * * @param None * * @return None *****************************************************************************/ HAL_ISR_FUNCTION( halDmaIsr, DMA_VECTOR ) { extern void HalUARTIsrDMA(void); DMAIF = 0; #if HAL_UART_DMA if (HAL_DMA_CHECK_IRQ(HAL_DMA_CH_TX)) { HalUARTIsrDMA(); } #endif // HAL_UART_DMA #if (defined HAL_SPI) && (HAL_SPI == TRUE) if ( HAL_DMA_CHECK_IRQ( HAL_DMA_CH_RX ) ) { HAL_DMA_CLEAR_IRQ( HAL_DMA_CH_RX ); HalSpiRxIsr(); } if ( HAL_DMA_CHECK_IRQ( HAL_DMA_CH_TX ) ) { HAL_DMA_CLEAR_IRQ( HAL_DMA_CH_TX ); HalSpiTxIsr(); } #endif // (defined HAL_SPI) && (HAL_SPI == TRUE) #if (defined HAL_IRGEN) && (HAL_IRGEN == TRUE) if ( HAL_IRGEN == TRUE && HAL_DMA_CHECK_IRQ( HAL_IRGEN_DMA_CH ) ) { HAL_DMA_CLEAR_IRQ( HAL_IRGEN_DMA_CH ); HalIrGenDmaIsr(); } #endif // (defined HAL_IRGEN) && (HAL_IRGEN == TRUE) }
/****************************************************************************** * @fn HalDMAInit * * @brief DMA Interrupt Service Routine * * @param None * * @return None *****************************************************************************/ HAL_ISR_FUNCTION( halDmaIsr, DMA_VECTOR ) { HAL_ENTER_ISR(); DMAIF = 0; if (ZNP_CFG1_UART == znpCfg1) { if (HAL_DMA_CHECK_IRQ(HAL_DMA_CH_TX)) { extern void HalUARTIsrDMA(void); HalUARTIsrDMA(); } } #if (defined HAL_SPI) && (HAL_SPI == TRUE) else { if ( HAL_DMA_CHECK_IRQ( HAL_DMA_CH_RX ) ) { HAL_DMA_CLEAR_IRQ( HAL_DMA_CH_RX ); HalSpiRxIsr(); } if ( HAL_DMA_CHECK_IRQ( HAL_DMA_CH_TX ) ) { HAL_DMA_CLEAR_IRQ( HAL_DMA_CH_TX ); HalSpiTxIsr(); } } #endif // #if (defined HAL_SPI) && (HAL_SPI == TRUE) HAL_EXIT_ISR(); }