Bar Logo 3.8/7.6 kw Totem pole Demonstration Application (Part-No. (not specified))
 
Content
     
Loading...
Searching...
No Matches
dma_interface.h
1
18/*
19© [2024] Microchip Technology Inc. and its subsidiaries.
20
21 Subject to your compliance with these terms, you may use Microchip
22 software and any derivatives exclusively with Microchip products.
23 You are responsible for complying with 3rd party license terms
24 applicable to your use of 3rd party software (including open source
25 software) that may accompany Microchip software. SOFTWARE IS ?AS IS.?
26 NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS
27 SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT,
28 MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT
29 WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE,
30 INCIDENTAL OR CONSEQUENTIAL LOSS, DAMAGE, COST OR EXPENSE OF ANY
31 KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
32 MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE
33 FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP?S
34 TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT
35 EXCEED AMOUNT OF FEES, IF ANY, YOU PAID DIRECTLY TO MICROCHIP FOR
36 THIS SOFTWARE.
37*/
38
39#ifndef DMA_INTERFACE_H
40#define DMA_INTERFACE_H
41
42// Section: Included Files
43#include <stdint.h>
44#include <stdbool.h>
45#include "dma_types.h"
46
47// Section: Data Type Definitions
48
55{
56 void (*Initialize)(void);
58
59 void (*Deinitialize)(void);
61
62 void (*ChannelEnable)(enum DMA_CHANNEL channel);
64
65 void (*ChannelDisable)(enum DMA_CHANNEL channel);
67
68 void (*TransferCountSet)(enum DMA_CHANNEL channel, uint16_t transferCount);
70
71 uint16_t (*TransferCountGet)(enum DMA_CHANNEL channel);
73
74 void (*SoftwareTriggerEnable)(enum DMA_CHANNEL channel);
76
77 void (*SourceAddressSet)(enum DMA_CHANNEL channel, uint16_t address);
79
80 void (*DestinationAddressSet)(enum DMA_CHANNEL channel, uint16_t address);
82
85
86 void (*ChannelCallbackRegister)(void(*callback)(enum DMA_CHANNEL channel));
88
89 void (*ChannelTasks)(void);
91};
92
93#endif //DMA_INTERFACE_H
94
This is the generated driver types header file for the DMA driver.
DMA_CHANNEL
Defines the DMA channles that are selected from the MCC Melody User Interface for the DMA transfers....
Definition dma_types.h:51
Structure containing the function pointers of DMA driver.
void(* SourceAddressSet)(enum DMA_CHANNEL channel, uint16_t address)
Pointer to DMA_SourceAddressSet.
void(* ChannelTasks)(void)
Pointer to DMA_ChannelTasks (Supported only in polling mode)
uint16_t(* TransferCountGet)(enum DMA_CHANNEL channel)
Pointer to DMA_TransferCountGet.
void(* SoftwareTriggerEnable)(enum DMA_CHANNEL channel)
Pointer to DMA_SoftwareTriggerEnable.
void(* ChannelEnable)(enum DMA_CHANNEL channel)
Pointer to DMA_ChannelEnable.
void(* ChannelCallbackRegister)(void(*callback)(enum DMA_CHANNEL channel))
Pointer to DMA_ChannelCallbackRegister.
bool(* IsSoftwareRequestPending)(enum DMA_CHANNEL channel)
Pointer to DMA_IsSoftwareRequestPending.
void(* Deinitialize)(void)
Pointer to DMA_Deinitialize.
void(* DestinationAddressSet)(enum DMA_CHANNEL channel, uint16_t address)
Pointer to DMA_DestinationAddressSet.
void(* ChannelDisable)(enum DMA_CHANNEL channel)
Pointer to DMA_ChannelDisable.
void(* TransferCountSet)(enum DMA_CHANNEL channel, uint16_t transferCount)
Pointer to DMA_TransferCountSet.
void(* Initialize)(void)
Pointer to DMA_Initialize.