123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- #include "hal_types.h"
- #include "hal_defs.h"
- #include "hal_dma.h"
- #include "hal_mcu.h"
- #include "hal_uart.h"
- #if (defined HAL_IRGEN) && (HAL_IRGEN == TRUE)
- #include "hal_irgen.h"
- #endif
- #if (defined HAL_SPI) && (HAL_SPI == TRUE)
- #include "hal_spi.h"
- #endif
- #if ((defined HAL_DMA) && (HAL_DMA == TRUE))
- halDMADesc_t dmaCh0;
- halDMADesc_t dmaCh1234[4];
- void HalDmaInit( void )
- {
- HAL_DMA_SET_ADDR_DESC0( &dmaCh0 );
- HAL_DMA_SET_ADDR_DESC1234( dmaCh1234 );
- #if (HAL_UART_DMA || \
- ((defined HAL_SPI) && (HAL_SPI == TRUE)) || \
- ((defined HAL_IRGEN) && (HAL_IRGEN == TRUE)))
- DMAIE = 1;
- #endif
- }
- #if (HAL_UART_DMA || \
- ((defined HAL_SPI) && (HAL_SPI == TRUE)) || \
- ((defined HAL_IRGEN) && (HAL_IRGEN == TRUE)))
- HAL_ISR_FUNCTION( halDmaIsr, DMA_VECTOR )
- {
- extern void HalUARTIsrDMA(void);
- HAL_ENTER_ISR();
- DMAIF = 0;
- #if HAL_UART_DMA
- if (HAL_DMA_CHECK_IRQ(HAL_DMA_CH_TX))
- {
- HalUARTIsrDMA();
- }
- #endif
- #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
- #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
- CLEAR_SLEEP_MODE();
- HAL_EXIT_ISR();
- }
- #endif
- #endif
|