NIIETCM4 PD  v0.9.0
Драйвер периферии для микроконтроллеров на базе ядра ARM Cortex-M4
Файл niietcm4_dma.h

Файл содержит все прототипы функций для DMA. Подробнее...

#include "niietcm4.h"

См. исходные тексты.

Структуры данных

struct  _CHANNEL_CFG_bits
 Битовый доступ к регистру CHANNEL_CFG в DMA_Channel_TypeDef. Подробнее...
 
struct  DMA_Channel_TypeDef
 Тип, описывающий структуру канала DMA. Подробнее...
 
struct  DMA_ConfigStruct_TypeDef
 Управляющая структура данных DMA. Подробнее...
 
struct  DMA_ConfigData_TypeDef
 Совокупность из основной и управляющей структур DMA. Общий размер 1 кБ. Подробнее...
 
struct  DMA_Protect_TypeDef
 Защита шины при чтении из источника или записи в приемник через DMA. Подробнее...
 
struct  DMA_ChannelInit_TypeDef
 Структура инициализации канала DMA. Подробнее...
 
struct  DMA_Init_TypeDef
 Структура инициализации контроллера DMA. Подробнее...
 

Макросы

#define CHANNEL_CFG_CYCLE_CTRL_Pos   0
 
#define CHANNEL_CFG_NEXT_USEBURST_Pos   3
 
#define CHANNEL_CFG_N_MINUS_1_Pos   4
 
#define CHANNEL_CFG_R_POWER_Pos   14
 
#define CHANNEL_CFG_SRC_PROT_CTRL_Pos   18
 
#define CHANNEL_CFG_DST_PROT_CTRL_Pos   21
 
#define CHANNEL_CFG_SRC_SIZE_Pos   24
 
#define CHANNEL_CFG_SRC_INC_Pos   26
 
#define CHANNEL_CFG_DST_SIZE_Pos   28
 
#define CHANNEL_CFG_DST_INC_Pos   30
 
#define CHANNEL_CFG_CYCLE_CTRL_Msk   ((uint32_t)0x00000007)
 
#define CHANNEL_CFG_NEXT_USEBURST_Msk   ((uint32_t)0x00000008)
 
#define CHANNEL_CFG_N_MINUS_1_Msk   ((uint32_t)0x00003FF0)
 
#define CHANNEL_CFG_R_POWER_Msk   ((uint32_t)0x0003C000)
 
#define CHANNEL_CFG_SRC_PROT_CTRL_Msk   ((uint32_t)0x001C0000)
 
#define CHANNEL_CFG_DST_PROT_CTRL_Msk   ((uint32_t)0x00E00000)
 
#define CHANNEL_CFG_SRC_SIZE_Msk   ((uint32_t)0x03000000)
 
#define CHANNEL_CFG_SRC_INC_Msk   ((uint32_t)0x0C000000)
 
#define CHANNEL_CFG_DST_SIZE_Msk   ((uint32_t)0x30000000)
 
#define CHANNEL_CFG_DST_INC_Msk   ((uint32_t)0xC0000000)
 
#define DMA_Channel_All   ((uint32_t)0x00FFFFFF)
 
#define DMA_Channel_0   ((uint32_t)0x00000001)
 
#define DMA_Channel_1   ((uint32_t)0x00000002)
 
#define DMA_Channel_2   ((uint32_t)0x00000004)
 
#define DMA_Channel_3   ((uint32_t)0x00000008)
 
#define DMA_Channel_4   ((uint32_t)0x00000010)
 
#define DMA_Channel_5   ((uint32_t)0x00000020)
 
#define DMA_Channel_6   ((uint32_t)0x00000040)
 
#define DMA_Channel_7   ((uint32_t)0x00000080)
 
#define DMA_Channel_8   ((uint32_t)0x00000100)
 
#define DMA_Channel_9   ((uint32_t)0x00000200)
 
#define DMA_Channel_10   ((uint32_t)0x00000400)
 
#define DMA_Channel_11   ((uint32_t)0x00000800)
 
#define DMA_Channel_12   ((uint32_t)0x00001000)
 
#define DMA_Channel_13   ((uint32_t)0x00002000)
 
#define DMA_Channel_14   ((uint32_t)0x00004000)
 
#define DMA_Channel_15   ((uint32_t)0x00008000)
 
#define DMA_Channel_16   ((uint32_t)0x00010000)
 
#define DMA_Channel_17   ((uint32_t)0x00020000)
 
#define DMA_Channel_18   ((uint32_t)0x00040000)
 
#define DMA_Channel_19   ((uint32_t)0x00080000)
 
#define DMA_Channel_20   ((uint32_t)0x00100000)
 
#define DMA_Channel_21   ((uint32_t)0x00200000)
 
#define DMA_Channel_22   ((uint32_t)0x00400000)
 
#define DMA_Channel_23   ((uint32_t)0x00800000)
 
#define DMA_Channel_UART0_TX   DMA_Channel_0
 
#define DMA_Channel_UART1_TX   DMA_Channel_1
 
#define DMA_Channel_UART2_TX   DMA_Channel_2
 
#define DMA_Channel_UART3_TX   DMA_Channel_3
 
#define DMA_Channel_UART0_RX   DMA_Channel_4
 
#define DMA_Channel_UART1_RX   DMA_Channel_5
 
#define DMA_Channel_UART2_RX   DMA_Channel_6
 
#define DMA_Channel_UART3_RX   DMA_Channel_7
 
#define DMA_Channel_ADCSEQ0   DMA_Channel_8
 
#define DMA_Channel_ADCSEQ1   DMA_Channel_9
 
#define DMA_Channel_ADCSEQ2   DMA_Channel_10
 
#define DMA_Channel_ADCSEQ3   DMA_Channel_11
 
#define DMA_Channel_ADCSEQ4   DMA_Channel_12
 
#define DMA_Channel_ADCSEQ5   DMA_Channel_13
 
#define DMA_Channel_ADCSEQ6   DMA_Channel_14
 
#define DMA_Channel_ADCSEQ7   DMA_Channel_15
 
#define DMA_Channel_SPI0_TX   DMA_Channel_16
 
#define DMA_Channel_SPI1_TX   DMA_Channel_17
 
#define DMA_Channel_SPI2_TX   DMA_Channel_18
 
#define DMA_Channel_SPI3_TX   DMA_Channel_19
 
#define DMA_Channel_SPI0_RX   DMA_Channel_20
 
#define DMA_Channel_SPI1_RX   DMA_Channel_21
 
#define DMA_Channel_SPI2_RX   DMA_Channel_22
 
#define DMA_Channel_SPI3_RX   DMA_Channel_23
 
#define IS_DMA_CHANNEL(CHANNEL)   (((CHANNEL) != (uint32_t)0x000000) && (((CHANNEL) & (uint32_t)0xFF000000) == ((uint32_t)0x0000)))
 Макрос проверки маски каналов на попадание в допустимый диапазон.
 
#define IS_GET_DMA_CHANNEL(CHANNEL)
 Макрос проверки маски канала при работе с каналами по отдельности. Подробнее...
 
#define IS_DMA_MODE(MODE)
 Макрос проверки аргументов типа DMA_Mode_TypeDef. Подробнее...
 
#define IS_DMA_ARBITRATION_RATE(ARBITRATION_RATE)
 Макрос проверки аргументов типа DMA_ArbitrationRate_TypeDef. Подробнее...
 
#define IS_DMA_DATA_SIZE(DATA_SIZE)
 Макрос проверки аргументов типа DMA_DataSize_TypeDef. Подробнее...
 
#define IS_DMA_DATA_INC(DATA_INC)
 Макрос проверки аргументов типа DMA_DataSize_TypeDef. Подробнее...
 
#define IS_DMA_TRANSFERS_TOTAL(TRANSFERS_TOTAL)   (((TRANSFERS_TOTAL) <= ((uint32_t)1024)) && ((TRANSFERS_TOTAL) >= ((uint32_t)1)))
 Макрос проверки соответсвия величины DMA_TransfersTotal из DMA_ChannelInit_TypeDef разрешенному диапазону.
 
#define IS_DMA_STATE(STATE)
 Макрос проверки аргументов типа DMA_State_TypeDef. Подробнее...
 

Перечисления

enum  DMA_Mode_TypeDef {
  DMA_Mode_Disable, DMA_Mode_Basic, DMA_Mode_AutoReq, DMA_Mode_PingPong,
  DMA_Mode_PrmMemScatGath, DMA_Mode_AltMemScatGath, DMA_Mode_PrmPeriphScatGath, DMA_Mode_AltPeriphScatGath
}
 Выбор режима работы DMA. Подробнее...
 
enum  DMA_ArbitrationRate_TypeDef {
  DMA_ArbitrationRate_1, DMA_ArbitrationRate_2, DMA_ArbitrationRate_4, DMA_ArbitrationRate_8,
  DMA_ArbitrationRate_16, DMA_ArbitrationRate_32, DMA_ArbitrationRate_64, DMA_ArbitrationRate_128,
  DMA_ArbitrationRate_256, DMA_ArbitrationRate_512, DMA_ArbitrationRate_1024
}
 Выбор количества передач до выполнения переарбитрации. Подробнее...
 
enum  DMA_DataSize_TypeDef { DMA_DataSize_8, DMA_DataSize_16, DMA_DataSize_32 }
 Разрядность данных источника или приемника Подробнее...
 
enum  DMA_DataInc_TypeDef { DMA_DataInc_8, DMA_DataInc_16, DMA_DataInc_32, DMA_DataInc_Disable }
 Шаг инкремента адреса источника при чтении или приемника при записи Подробнее...
 
enum  DMA_State_TypeDef {
  DMA_State_Free, DMA_State_ReadConfigData, DMA_State_ReadSrcDataEndPtr, DMA_State_ReadDstDataEndPtr,
  DMA_State_ReadSrcData, DMA_State_WriteDstData, DMA_State_WaitReq, DMA_State_WriteConfigData,
  DMA_State_Pause, DMA_State_Done, DMA_State_PeriphScatGath
}
 Возможные состояния конечного автомата управления контроллером DMA. Подробнее...
 

Функции

void DMA_ChannelDeInit (DMA_Channel_TypeDef *DMA_Channel)
 Деинициализация канала DMA. Подробнее...
 
void DMA_ChannelInit (DMA_Channel_TypeDef *DMA_Channel, DMA_ChannelInit_TypeDef *DMA_ChannelInitStruct)
 Инициализация канала DMA. Подробнее...
 
void DMA_ChannelStructInit (DMA_ChannelInit_TypeDef *DMA_ChannelInitStruct)
 Заполнение каждого члена структуры DMA_ChannelInitStruct значениями по умолчанию. Подробнее...
 
void DMA_DeInit ()
 Деинициализация контроллера DMA. Подробнее...
 
void DMA_Init (DMA_Init_TypeDef *DMA_InitStruct)
 Инициализация контроллера DMA. Подробнее...
 
void DMA_StructInit (DMA_Init_TypeDef *DMA_InitStruct)
 Заполнение каждого члена структуры DMA_InitStruct значениями по умолчанию. Подробнее...
 
void DMA_BasePtrConfig (uint32_t BasePtr)
 Установка базового адреса управляющих каналов. Подробнее...
 
void DMA_ProtectionConfig (DMA_Protect_TypeDef *DMA_Protection)
 Управление защитой шины при обращении DMA к управляющим данным. Подробнее...
 
void DMA_MasterEnableCmd (FunctionalState State)
 Разрешения работы контроллера DMA. Подробнее...
 
void DMA_SWRequestCmd (uint32_t DMA_Channel)
 Программный запрос на осуществление передач DMA по выбранным каналам. Подробнее...
 
void DMA_UseBurstCmd (uint32_t DMA_Channel, FunctionalState State)
 Установка пакетного обмена каналов DMA. Подробнее...
 
void DMA_ReqMaskCmd (uint32_t DMA_Channel, FunctionalState State)
 Маскирование каналов DMA. Подробнее...
 
void DMA_ChannelEnableCmd (uint32_t DMA_Channel, FunctionalState State)
 Активация каналов DMA. Подробнее...
 
void DMA_PrmAltCmd (uint32_t DMA_Channel, FunctionalState State)
 Установка первичной/альтернативной управляющей структуры каналов DMA. Подробнее...
 
void DMA_HighPriorityCmd (uint32_t DMA_Channel, FunctionalState State)
 Установка высокого приоритета каналов DMA. Подробнее...
 
DMA_State_TypeDef DMA_StateStatus ()
 Доступ к текущему конечного автомата контроллера DMA. Подробнее...
 
FunctionalState DMA_MasterEnableStatus ()
 Состояние контроллера DMA. Подробнее...
 
FunctionalState DMA_WaitOnReqStatus (uint32_t DMA_Channel)
 Показывает поддерживает ли канал одиночные SREQ запросы. Подробнее...
 
OperationStatus DMA_ErrorStatus ()
 Показывает наличие ошибки на шине. Подробнее...
 
void DMA_ClearErrorStatus ()
 Сброс флага ошибки на шине. Подробнее...
 

Подробное описание

Файл содержит все прототипы функций для DMA.

Автор
НИИЭТ
Дата
10.11.2015
Внимание

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ, НО НЕ ОГРАНИЧИВАЯСЬ ИМИ. ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДНАЗНАЧЕНО ДЛЯ ОЗНАКОМИТЕЛЬНЫХ ЦЕЛЕЙ И НАПРАВЛЕНО ТОЛЬКО НА ПРЕДОСТАВЛЕНИЕ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ О ПРОДУКТЕ, С ЦЕЛЬЮ СОХРАНИТЬ ВРЕМЯ ПОТРЕБИТЕЛЮ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО КАКИМ-ЛИБО ИСКАМ, ЗА ПРЯМОЙ ИЛИ КОСВЕННЫЙ УЩЕРБ, ИЛИ ПО ИНЫМ ТРЕБОВАНИЯМ, ВОЗНИКШИМ ИЗ-ЗА ИСПОЛЬЗОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫХ ДЕЙСТВИЙ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

© 2015 ОАО "НИИЭТ"

См. определение в файле niietcm4_dma.h