NULL
This commit is contained in:
53
user/MCU/lhl_dma.c
Executable file → Normal file
53
user/MCU/lhl_dma.c
Executable file → Normal file
@@ -1,13 +1,6 @@
|
||||
#include "../main/SystemInclude.h"
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief <20><><EFBFBD><EFBFBD> DMAMUX<55><58>DMA <20><>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param channel: DMA ͨ<><CDA8><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD> DMA_CHANNEL_0
|
||||
* @param source: <20><><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD> REQUEST_SOURCE_ADC0
|
||||
* @note <20>ú<EFBFBD><C3BA><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8> DMA ͨ<><CDA8><EFBFBD><EFBFBD>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>ӣ<EFBFBD><D3A3><EFBFBD>ʹ<EFBFBD><CAB9> DMAMUX ͨ<><CDA8><EFBFBD><EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>Periodic_Trigger<65><72>Ĭ<EFBFBD>Ͻ<EFBFBD><CFBD>á<EFBFBD>
|
||||
* @example DMA_DMAMUX_CFG(DMA_CHANNEL_0, REQUEST_SOURCE_ADC0);
|
||||
**/
|
||||
/* <20><><EFBFBD><EFBFBD>DMAMUX<55><58>DMA<4D><41>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||
void DMA_DMAMUX_CFG(DMA_CHANNEL_t channel,DMAMUX_REQ_SRC_t source)
|
||||
{
|
||||
DMAMUX_InitTypeDef DMAMUX_InitStructure;
|
||||
@@ -20,30 +13,26 @@ void DMA_DMAMUX_CFG(DMA_CHANNEL_t channel,DMAMUX_REQ_SRC_t source)
|
||||
}
|
||||
|
||||
|
||||
/*-=====================================================================================================
|
||||
//DMA<4D>жϻص<CFBB>
|
||||
-=====================================================================================================*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief <20>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
||||
* @note
|
||||
* @param
|
||||
* @example:
|
||||
**/
|
||||
static dma_callbacks_t dma_callbacks[4] = {NULL};
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief ע<><D7A2> DMA ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD>жϻص<CFBB><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @param dmachannel: DMA ͨ<><CDA8><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD> DMA_CHANNEL_0
|
||||
* @param dma_half_irq_callback: <20>봫<EFBFBD><EBB4AB><EFBFBD><EFBFBD><EFBFBD>ɻص<C9BB><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>루<EFBFBD><EBA3A8>Ϊ NULL<4C><4C>
|
||||
* @param dma_major_irq_callback: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɻص<C9BB><D8B5><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>루<EFBFBD><EBA3A8>Ϊ NULL<4C><4C>
|
||||
* @note <20><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD>ʹ<EFBFBD>ܶ<EFBFBD>Ӧ<EFBFBD><D3A6> NVIC <20>жϣ<D0B6>
|
||||
* - CH0 ʹ<><CAB9> DMA1_CH0_IRQn
|
||||
* - CH1 ʹ<><CAB9> DMA1_CH1_IRQn
|
||||
* - CH2/CH3 ʹ<><CAB9> DMA1_CH2_CH3_IRQn
|
||||
* @example DMA_register_irq_callback(DMA_CHANNEL_0, my_half_cb, my_major_cb);
|
||||
**/
|
||||
void DMA_register_irq_callback(DMA_CHANNEL_t dmachannel, dma_half_irq_callback_t dma_half_irq_callback ,dma_major_irq_callback_t dma_major_irq_callback)
|
||||
{
|
||||
dma_callbacks[dmachannel].half_callback = dma_half_irq_callback;
|
||||
dma_callbacks[dmachannel].major_callback = dma_major_irq_callback;
|
||||
switch (dmachannel) { //<2F><>ȡ EXTI <20>߶<EFBFBD>Ӧ<EFBFBD><D3A6> IRQ <20><>
|
||||
case DMA_CHANNEL_0: NVIC_EnableIRQ(DMA1_CH0_IRQn); break;
|
||||
case DMA_CHANNEL_1: NVIC_EnableIRQ(DMA1_CH1_IRQn); break;
|
||||
case DMA_CHANNEL_1: NVIC_EnableIRQ(DMA1_CH1_IRQn); break;
|
||||
case DMA_CHANNEL_2:
|
||||
case DMA_CHANNEL_3:
|
||||
NVIC_EnableIRQ(DMA1_CH2_CH3_IRQn); break;
|
||||
@@ -52,11 +41,7 @@ void DMA_register_irq_callback(DMA_CHANNEL_t dmachannel, dma_half_irq_callback_t
|
||||
}
|
||||
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief DMA1 ͨ<><CDA8> 0 <20>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note <20>ж<EFBFBD><D0B6>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>봫<EFBFBD><EBB4AB>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ᣩ<EFBFBD><E1A3A9>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> 0 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE>
|
||||
**/
|
||||
|
||||
void DMA1_CH0_IRQHandler(void)
|
||||
{
|
||||
if(LHL_DMA_GetPending(DMA_CHANNEL_0) == DMA_IT_HALF) {
|
||||
@@ -72,11 +57,7 @@ void DMA1_CH0_IRQHandler(void)
|
||||
}
|
||||
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief DMA1 ͨ<><CDA8> 1 <20>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note <20>ж<EFBFBD><D0B6>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3>봫<EFBFBD><EBB4AB>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧ<EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ᣩ<EFBFBD><E1A3A9>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> 1 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE>
|
||||
**/
|
||||
|
||||
void DMA1_CH1_IRQHandler(void)//
|
||||
{
|
||||
if(LHL_DMA_GetPending(DMA_CHANNEL_1) == DMA_IT_HALF) {
|
||||
@@ -91,11 +72,7 @@ void DMA1_CH1_IRQHandler(void)//
|
||||
LHL_DMA_ClearPending(DMA_CHANNEL_1);
|
||||
}
|
||||
|
||||
/**------------------------------------------------------------------------
|
||||
* @brief DMA1 ͨ<><CDA8> 2 <20><> 3 <20><><EFBFBD><EFBFBD><EFBFBD>жϷ<D0B6><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
* @note <20>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> 2 <20><>ͨ<EFBFBD><CDA8> 3 <20><><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE><EFBFBD>ж<EFBFBD><D0B6>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ͣ<EFBFBD>
|
||||
* <20><><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD>Ӧͨ<D3A6><CDA8><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD>Ļص<C4BB><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6>־<EFBFBD><D6BE>
|
||||
**/
|
||||
|
||||
void DMA1_CH2_3_IRQHandler(void)
|
||||
{
|
||||
if(LHL_DMA_GetPending(DMA_CHANNEL_2) == DMA_IT_HALF) {
|
||||
|
||||
Reference in New Issue
Block a user