Добавлен ADC SEQ (заготовка пока)
И небольшой рефакторинг
This commit is contained in:
@@ -12,8 +12,9 @@
|
||||
//-- Includes ------------------------------------------------------------------
|
||||
#include "sysclk.h"
|
||||
#include "gpio.h"
|
||||
#include "tmr.h"
|
||||
#include "uart.h"
|
||||
#include "tmr.h"
|
||||
#include "adc.h"
|
||||
void Error_Handler(void);
|
||||
|
||||
//-- Общие Конфигурации -------------------------------------------------------
|
||||
@@ -26,6 +27,13 @@ void Error_Handler(void);
|
||||
#define USE_TMR2 1
|
||||
#define USE_TMR3 0
|
||||
|
||||
#define USE_ADC_SEQ0 1
|
||||
#define USE_ADC_SEQ1 0
|
||||
#define USE_ADC_DC0 0
|
||||
#define USE_ADC_DC1 0
|
||||
#define USE_ADC_DC2 0
|
||||
#define USE_ADC_DC3 0
|
||||
|
||||
//#define RETARGET // закоментирован - отключен,
|
||||
// // разкоментирован - включен
|
||||
//#define RETARGET_USE_ITM // закоментирован - использовать UART,
|
||||
@@ -33,7 +41,7 @@ void Error_Handler(void);
|
||||
// Для дальнейшей настройки RETARGET -> retarget_conf.h
|
||||
|
||||
//-- RCU Конфигурации ---------------------------------------------------------
|
||||
static RCU_PLL_Ref_TypeDef SYSCLK_Oscil_Type = RCU_PLL_Ref_OSIClk;
|
||||
static RCU_PLL_Ref_TypeDef SYSCLK_Oscil_Type = RCU_PLL_Ref_OSEClk;
|
||||
#define SYSCLK_CORE_CLOCK_MHZ 100
|
||||
|
||||
//-- GPIO Конфигурации --------------------------------------------------------
|
||||
@@ -42,7 +50,7 @@ static RCU_PLL_Ref_TypeDef SYSCLK_Oscil_Type = RCU_PLL_Ref_OSIClk;
|
||||
Периферия сама настроит нужные пины в gpiox_config на альтернативные функции
|
||||
*/
|
||||
static GPIO_Init_TypeDef gpioa_config[] = {
|
||||
// Пин, Режим, Выходной режим, Входной режим, Подтяжка, Нагрузка/Скорость
|
||||
// Пин, Режим, Выходной режим, Входной режим, Подтяжка, Нагрузка/Скорость
|
||||
{ GPIO_Pin_0, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||||
{ GPIO_Pin_1, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||||
{ GPIO_Pin_2, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||||
@@ -62,7 +70,7 @@ static GPIO_Init_TypeDef gpioa_config[] = {
|
||||
};
|
||||
|
||||
static GPIO_Init_TypeDef gpiob_config[] = {
|
||||
// Пин, Режим, Выходной режим, Входной режим, Подтяжка, Нагрузка/Скорость
|
||||
// Пин, Режим, Выходной режим, Входной режим, Подтяжка, Нагрузка/Скорость
|
||||
{ GPIO_Pin_0, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||||
{ GPIO_Pin_1, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||||
{ GPIO_Pin_2, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||||
@@ -82,52 +90,158 @@ static GPIO_Init_TypeDef gpiob_config[] = {
|
||||
};
|
||||
|
||||
|
||||
|
||||
//-- UART Конфигурации --------------------------------------------------------
|
||||
#if USE_UART0==1
|
||||
static UART_ExtInit_TypeDef uart0_config = {
|
||||
//Стоп биты, Четность, Длина посылки, Скорость, FIFO, Направление работы
|
||||
UART_StopBit_1, UART_ParityBit_Disable, UART_DataWidth_8, 115200, DISABLE, UART_Direction_RxTx,
|
||||
//Rx Коллбек Tx Коллбек Idle Коллбек Error Коллбек
|
||||
NULL, NULL, NULL, NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
#if USE_UART1==1
|
||||
static UART_ExtInit_TypeDef uart1_config = {
|
||||
//Стоп биты, Четность, Длина посылки, Скорость, FIFO, Направление работы
|
||||
UART_StopBit_1, UART_ParityBit_Disable, UART_DataWidth_8, 115200, DISABLE, UART_Direction_RxTx,
|
||||
//Rx Коллбек Tx Коллбек Idle Коллбек Error Коллбек
|
||||
NULL, NULL, NULL, NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//-- TMR Конфигурации ---------------------------------------------------------
|
||||
#if USE_TMR0==1
|
||||
static TMR_Init_TypeDef tmr0_config = {
|
||||
// Частота Clk МГц, Период обновления Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование Коллбек
|
||||
SYSCLK_CORE_CLOCK_MHZ, LOAD(0xFFFFFFFF, SYSCLK_CORE_CLOCK_MHZ-1), DISABLE, DISABLE, DISABLE, TMR_ExtInput_Disable, NULL
|
||||
static TMR_ExtInit_TypeDef tmr0_config = {
|
||||
//Частота Clk МГц, Период обновления
|
||||
SYSCLK_CORE_CLOCK_MHZ, LOAD(0xFFFFFFFF, SYSCLK_CORE_CLOCK_MHZ-1),
|
||||
//Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование
|
||||
DISABLE, DISABLE, DISABLE, TMR_ExtInput_Disable
|
||||
};
|
||||
#endif
|
||||
|
||||
#if USE_TMR1==1
|
||||
static TMR_Init_TypeDef tmr1_config = {
|
||||
// Частота Clk МГц, Период обновления Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование Коллбек
|
||||
SYSCLK_CORE_CLOCK_MHZ, FREQ_HZ(10), DISABLE, DISABLE, DISABLE, TMR_ExtInput_Disable, NULL
|
||||
static TMR_ExtInit_TypeDef tmr1_config = {
|
||||
//Частота Clk МГц, Период обновления
|
||||
SYSCLK_CORE_CLOCK_MHZ, FREQ_HZ(10),
|
||||
//Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование
|
||||
DISABLE, DISABLE, DISABLE, TMR_ExtInput_Disable
|
||||
};
|
||||
#endif
|
||||
|
||||
#if USE_TMR2==1
|
||||
static TMR_Init_TypeDef tmr2_config = {
|
||||
// Частота Clk МГц, Период обновления Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование Коллбек
|
||||
SYSCLK_CORE_CLOCK_MHZ, PERIOD_MKS(1000000),ENABLE, DISABLE, DISABLE, TMR_ExtInput_Disable, NULL
|
||||
static TMR_ExtInit_TypeDef tmr2_config = {
|
||||
//Частота Clk МГц, Период обновления
|
||||
SYSCLK_CORE_CLOCK_MHZ, PERIOD_MKS(1000000),
|
||||
//Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование
|
||||
ENABLE, DISABLE, DISABLE, TMR_ExtInput_Disable
|
||||
};
|
||||
#endif
|
||||
|
||||
#if USE_TMR3==1
|
||||
static TMR_Init_TypeDef tmr3_config = {
|
||||
// Частота Clk МГц, Период обновления Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование Коллбек
|
||||
SYSCLK_CORE_CLOCK_MHZ, PERIOD_MKS(1000), DISABLE, DISABLE, DISABLE, TMR_ExtInput_Disable, NULL
|
||||
//Частота Clk МГц, Период обновления
|
||||
SYSCLK_CORE_CLOCK_MHZ, PERIOD_MKS(1000),
|
||||
//Прерывания Запуск конверсии АЦП Реквест DMA Внешнее тактирование
|
||||
DISABLE, DISABLE, DISABLE, TMR_ExtInput_Disable
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
//-- UART Конфигурации --------------------------------------------------------
|
||||
#if USE_UART0==1
|
||||
static UART_ExtInitTypeDef uart0_config = {
|
||||
// Стоп биты, Четность, Длина посылки, Скорость, FIFO, Направление работы Коллбек Rx Коллбек Tx Коллбек IDLE Коллбек Error
|
||||
UART_StopBit_1, UART_ParityBit_Disable, UART_DataWidth_8, 115200, DISABLE, UART_Direction_RxTx, NULL, NULL, NULL, NULL,
|
||||
//-- ADC SEQ Конфигурации -----------------------------------------------------
|
||||
static RCU_PeriphClk_TypeDef ADC_ClockSource = RCU_PeriphClk_PLLClk;
|
||||
static float ADC_ClockMHz = 12.5;
|
||||
#if USE_ADC_SEQ0==1
|
||||
static ADC_SEQ_ExtInit_TypeDef adc_seq0_config = {
|
||||
//Событие запуска секвенсора, Разрешение программного запуска
|
||||
ADC_SEQ_StartEvent_SwReq, ENABLE,
|
||||
//Выбор каналов для запросов секвенсора
|
||||
ADC_CH_Num_0, ADC_CH_Num_1, ADC_CH_Num_2, ADC_CH_Num_3,
|
||||
//Последний запрос, Усреднение запросов, Усреднение запросов
|
||||
ADC_SEQ_ReqNum_1, ADC_SEQ_Average_2, DISABLE,
|
||||
//Кол-во рестартов секвенсора, Усреднение рестартов, Задержка между рестартами
|
||||
0, DISABLE, 0,
|
||||
//Разрешение каналов цифровых компараторов
|
||||
DISABLE, DISABLE, DISABLE, DISABLE,
|
||||
//Настройка DMA FIFO, Разрешение DMA
|
||||
ADC_SEQ_DMAFIFOLevel_1, DISABLE,
|
||||
//Прерывания, Количество запросов для прерывания
|
||||
ENABLE, 0,
|
||||
//SEQ Complete Коллбек, Error коллбек
|
||||
NULL, NULL
|
||||
|
||||
};
|
||||
#endif
|
||||
#if USE_ADC_SEQ1==1
|
||||
static ADC_SEQ_ExtInit_TypeDef adc_seq1_config = {
|
||||
//Событие запуска секвенсора, Разрешение программного запуска
|
||||
ADC_SEQ_StartEvent_SwReq, ENABLE,
|
||||
//Выбор каналов для запросов секвенсора
|
||||
ADC_CH_Num_0, ADC_CH_Num_1, ADC_CH_Num_2, ADC_CH_Num_3,
|
||||
//Макс. кол-во запросов, Усреднение запросов, Усреднение запросов
|
||||
ADC_SEQ_ReqNum_0, ADC_SEQ_Average_2, DISABLE,
|
||||
//Кол-во рестартов секвенсора, Усреднение рестартов, Задержка между рестартами
|
||||
0, DISABLE, 0,
|
||||
//Разрешение каналов цифровых компараторов
|
||||
DISABLE, DISABLE, DISABLE, DISABLE,
|
||||
//Настройка DMA FIFO, Разрешение DMA
|
||||
ADC_SEQ_DMAFIFOLevel_1, DISABLE,
|
||||
//Прерывания, Количество запросов для прерывания
|
||||
DISABLE, 0,
|
||||
//SEQ Complete Коллбек, Error коллбек
|
||||
NULL, NULL
|
||||
|
||||
};
|
||||
#endif
|
||||
|
||||
#if USE_UART1==1
|
||||
static UART_ExtInitTypeDef uart1_config = {
|
||||
// Стоп биты, Четность, Длина посылки, Скорость, FIFO, Направление работы Коллбек Rx Коллбек Tx Коллбек IDLE Коллбек Error
|
||||
UART_StopBit_1, UART_ParityBit_Disable, UART_DataWidth_8, 115200, DISABLE, UART_Direction_RxTx, NULL, NULL, NULL, NULL,
|
||||
//-- ADC DC Конфигурации ------------------------------------------------------
|
||||
#if USE_ADC_DC0==1
|
||||
static ADC_DC_ExtInit_TypeDef adc_dc0_config = {
|
||||
//Включение выхода компаратора
|
||||
DISABLE,
|
||||
//Нижний порог, Верхний порог
|
||||
0, 0,
|
||||
//Запуск измерения, Канал, Режим срабатывания, Условие срабатывания
|
||||
ADC_DC_Source_EOC, ADC_CH_Num_1, ADC_DC_Mode_Multiple, ADC_DC_Condition_Low,
|
||||
//DC Triggered Коллбек, Error коллбек
|
||||
NULL, NULL
|
||||
};
|
||||
#endif
|
||||
#if USE_ADC_DC1==1
|
||||
static ADC_DC_ExtInit_TypeDef adc_dc1_config = {
|
||||
//Включение выхода компаратора
|
||||
DISABLE,
|
||||
//Нижний порог, Верхний порог
|
||||
0, 0,
|
||||
//Запуск измерения, Канал, Режим срабатывания, Условие срабатывания
|
||||
ADC_DC_Source_EOC, ADC_CH_Num_2, ADC_DC_Mode_Multiple, ADC_DC_Condition_Low,
|
||||
//DC Triggered Коллбек, Error коллбек
|
||||
NULL, NULL
|
||||
};
|
||||
#endif
|
||||
#if USE_ADC_DC2==1
|
||||
static ADC_DC_ExtInit_TypeDef adc_dc2_config = {
|
||||
//Включение выхода компаратора
|
||||
DISABLE,
|
||||
//Нижний порог, Верхний порог
|
||||
0, 0,
|
||||
//Запуск измерения, Канал, Режим срабатывания, Условие срабатывания
|
||||
ADC_DC_Source_EOC, ADC_CH_Num_3, ADC_DC_Mode_Multiple, ADC_DC_Condition_Low,
|
||||
//DC Triggered Коллбек, Error коллбек
|
||||
NULL, NULL
|
||||
};
|
||||
#endif
|
||||
#if USE_ADC_DC3==1
|
||||
static ADC_DC_ExtInit_TypeDef adc_dc3_config = {
|
||||
//Включение выхода компаратора
|
||||
DISABLE,
|
||||
//Нижний порог, Верхний порог
|
||||
0, 0,
|
||||
//Запуск измерения, Канал, Режим срабатывания, Условие срабатывания
|
||||
ADC_DC_Source_EOC, ADC_CH_Num_4, ADC_DC_Mode_Multiple, ADC_DC_Condition_Low,
|
||||
//DC Triggered Коллбек, Error коллбек
|
||||
NULL, NULL
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif /*__PERIPH_CONFIG_H*/
|
||||
|
||||
Reference in New Issue
Block a user