| Nano100AN Series BSP V3.02.002 The Board Support Package for Nano100AN Series

Macros | Functions
PDMA Exported Functions
NANO100 Device Driver » PDMA Driver

## Macros
#define | PDMA_GET_INT_STATUS()
| Get PDMA Interrupt Status. More...
#define | PDMA_GET_CH_INT_STS(u32Ch)
| Get PDMA Channel Interrupt Status. More...
#define | PDMA_CLR_CH_INT_FLAG(u32Ch, u32Mask)
| Clear PDMA Channel Interrupt Flag. More...
#define | PDMA_IS_CH_BUSY(u32Ch)
| Check Channel Status. More...
#define | PDMA_SET_SRC_ADDR(u32Ch, u32Addr)
| Set Source Address. More...
#define | PDMA_SET_DST_ADDR(u32Ch, u32Addr)
| Set Destination Address. More...
#define | PDMA_SET_TRANS_CNT(u32Ch, u32Count)
| Set Transfer Count. More...
#define | PDMA_STOP(u32Ch)
| Stop the channel. More...

## Functions
void | PDMA_Open (uint32_t u32Mask)
| PDMA Open. More...
void | PDMA_Close (void)
| PDMA Close. More...
void | PDMA_SetTransferCnt (uint32_t u32Ch, uint32_t u32Width, uint32_t u32TransCount)
| Set PDMA Transfer Count. More...
void | PDMA_SetTransferAddr (uint32_t u32Ch, uint32_t u32SrcAddr, uint32_t u32SrcCtrl, uint32_t u32DstAddr, uint32_t u32DstCtrl)
| Set PDMA Transfer Address. More...
void | PDMA_SetTransferMode (uint32_t u32Ch, uint32_t u32Peripheral, uint32_t u32ScatterEn, uint32_t u32DescAddr)
| Set PDMA Transfer Mode. More...
void | PDMA_SetTimeOut (uint32_t u32Ch, uint32_t u32OnOff, uint32_t u32TimeOutCnt)
| Set PDMA Timeout. More...
void | PDMA_Trigger (uint32_t u32Ch)
| Trigger PDMA. More...
void | PDMA_EnableInt (uint32_t u32Ch, uint32_t u32Mask)
| Enable Interrupt. More...
void | PDMA_DisableInt (uint32_t u32Ch, uint32_t u32Mask)
| Disable Interrupt. More...

## Detailed Description

## Macro Definition Documentation

## ◆ PDMA_CLR_CH_INT_FLAG

#define PDMA_CLR_CH_INT_FLAG | ( |  | u32Ch,
|  |  | u32Mask
| ) |  |

Clear PDMA Channel Interrupt Flag.

Parameters

  [in] | u32Ch | Selected DMA channel
  [in] | u32Mask | Interrupt Mask

Returns
  None

This macro clear the channel interrupt flag.

Definition at line 124 of file pdma.h.

## ◆ PDMA_GET_CH_INT_STS

#define PDMA_GET_CH_INT_STS | ( |  | u32Ch | ) |

Get PDMA Channel Interrupt Status.

Parameters

  [in] | u32Ch | Selected DMA channel

Returns
  Interrupt Status

This macro gets the channel interrupt status.

Definition at line 111 of file pdma.h.

## ◆ PDMA_GET_INT_STATUS

#define PDMA_GET_INT_STATUS | ( |  | ) |

Get PDMA Interrupt Status.

Parameters

  [in] | None |

Returns
  None

This macro gets the interrupt status.

Definition at line 99 of file pdma.h.

## ◆ PDMA_IS_CH_BUSY

#define PDMA_IS_CH_BUSY | ( |  | u32Ch | ) |

Check Channel Status.

Parameters

  [in] | u32Ch | The selected channel

Returns
  0 = idle; 1 = busy

Check the selected channel is busy or not.

Definition at line 136 of file pdma.h.

## ◆ PDMA_SET_DST_ADDR

#define PDMA_SET_DST_ADDR | ( |  | u32Ch,
|  |  | u32Addr
| ) |  |

Set Destination Address.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32Addr | The selected address

Returns
  None

This macro set the selected channel destination address.

Definition at line 162 of file pdma.h.

## ◆ PDMA_SET_SRC_ADDR

#define PDMA_SET_SRC_ADDR | ( |  | u32Ch,
|  |  | u32Addr
| ) |  |

Set Source Address.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32Addr | The selected address

Returns
  None

This macro set the selected channel source address.

Definition at line 149 of file pdma.h.

## ◆ PDMA_SET_TRANS_CNT

#define PDMA_SET_TRANS_CNT | ( |  | u32Ch,
|  |  | u32Count
| ) |  |

Set Transfer Count.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32Count | Transfer Count

Returns
  None

This macro set the selected channel transfer count.

Definition at line 175 of file pdma.h.

## ◆ PDMA_STOP

#define PDMA_STOP | ( |  | u32Ch | ) |

Stop the channel.

Parameters

  [in] | u32Ch | The selected channel

Returns
  None

This macro stop the selected channel.

Definition at line 194 of file pdma.h.

## Function Documentation

## ◆ PDMA_Close()

void PDMA_Close | ( | void |  | ) |

PDMA Close.

Parameters

  [in] | None |

Returns
  None

This function disable all PDMA channels.

Definition at line 52 of file pdma.c.

## ◆ PDMA_DisableInt()

void PDMA_DisableInt | ( | uint32_t | u32Ch,
|  | uint32_t | u32Mask
| ) |  |

Disable Interrupt.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32Mask | The Interrupt Type

Returns
  None

This function disable the selected channel interrupt.

Definition at line 223 of file pdma.c.

## ◆ PDMA_EnableInt()

void PDMA_EnableInt | ( | uint32_t | u32Ch,
|  | uint32_t | u32Mask
| ) |  |

Enable Interrupt.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32Mask | The Interrupt Type

Returns
  None

This function enable the selected channel interrupt.

Definition at line 205 of file pdma.c.

## ◆ PDMA_Open()

void PDMA_Open | ( | uint32_t | u32Mask | ) |

PDMA Open.

Parameters

  [in] | u32Mask | Channel enable bits.

Returns
  None

This function enable the PDMA channels.

Definition at line 38 of file pdma.c.

## ◆ PDMA_SetTimeOut()

void PDMA_SetTimeOut | ( | uint32_t | u32Ch,
|  | uint32_t | u32OnOff,
|  | uint32_t | u32TimeOutCnt
| ) |  |

Set PDMA Timeout.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32OnOff | Enable/disable time out function
  [in] | u32TimeOutCnt | Timeout count

Returns
  None

This function set the timeout count.

Definition at line 168 of file pdma.c.

## ◆ PDMA_SetTransferAddr()

void PDMA_SetTransferAddr | ( | uint32_t | u32Ch,
|  | uint32_t | u32SrcAddr,
|  | uint32_t | u32SrcCtrl,
|  | uint32_t | u32DstAddr,
|  | uint32_t | u32DstCtrl
| ) |  |

Set PDMA Transfer Address.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32SrcAddr | Source address
  [in] | u32SrcCtrl | Source control attribute. PDMA_SAR_INC or PDMA_SAR_FIX or PDMA_SAR_WRA
  [in] | u32DstAddr | destination address
  [in] | u32DstCtrl | destination control attribute. PDMA_DAR_INC or PDMA_DAR_FIX or PDMA_DAR_WRA

Returns
  None

This function set the selected channel source/destination address and attribute.

Definition at line 105 of file pdma.c.

## ◆ PDMA_SetTransferCnt()

void PDMA_SetTransferCnt | ( | uint32_t | u32Ch,
|  | uint32_t | u32Width,
|  | uint32_t | u32TransCount
| ) |  |

Set PDMA Transfer Count.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32Width | Data width. PDMA_WIDTH_8, PDMA_WIDTH_16, or PDMA_WIDTH_32
  [in] | u32TransCount | Transfer count

Returns
  None

This function set the selected channel data width and transfer count.

Definition at line 68 of file pdma.c.

## ◆ PDMA_SetTransferMode()

void PDMA_SetTransferMode | ( | uint32_t | u32Ch,
|  | uint32_t | u32Peripheral,
|  | uint32_t | u32ScatterEn,
|  | uint32_t | u32DescAddr
| ) |  |

Set PDMA Transfer Mode.

Parameters

  [in] | u32Ch | The selected channel
  [in] | u32Peripheral | The selected peripheral. PDMA_SPI0_TX, PDMA_UART0_TX, PDMA_I2S_TX,... PDMA_MEM
  [in] | u32ScatterEn | Scatter-gather mode enable
  [in] | u32DescAddr | Scatter-gather descriptor address

Returns
  None

This function set the selected channel transfer mode. Include peripheral setting.

Definition at line 127 of file pdma.c.

## ◆ PDMA_Trigger()

void PDMA_Trigger | ( | uint32_t | u32Ch | ) |

Trigger PDMA.

Parameters

  [in] | u32Ch | The selected channel

Returns
  None

This function trigger the selected channel.

Definition at line 187 of file pdma.c.