134 lines
9.3 KiB
C
134 lines
9.3 KiB
C
/*==============================================================================
|
||
* Конфигурация портов с использованием бибилотеки PLIB035
|
||
*------------------------------------------------------------------------------
|
||
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
|
||
*==============================================================================
|
||
* Реализация функций инициализации портов находится в gpio.c
|
||
* ЦНИИ СЭТ
|
||
*==============================================================================
|
||
*/
|
||
#ifndef __PERIPH_CONFIG_H
|
||
#define __PERIPH_CONFIG_H
|
||
//-- Includes ------------------------------------------------------------------
|
||
#include "sysclk.h"
|
||
#include "gpio.h"
|
||
#include "tmr.h"
|
||
#include "uart.h"
|
||
void Error_Handler(void);
|
||
|
||
//-- Общие Конфигурации -------------------------------------------------------
|
||
// 0 - использовать периферию, 1 - не использовать
|
||
#define USE_UART0 0
|
||
#define USE_UART1 1
|
||
|
||
#define USE_TMR0 1
|
||
#define USE_TMR1 1
|
||
#define USE_TMR2 1
|
||
#define USE_TMR3 0
|
||
|
||
//#define RETARGET // закоментирован - отключен,
|
||
// // разкоментирован - включен
|
||
//#define RETARGET_USE_ITM // закоментирован - использовать UART,
|
||
// // разкоментирован - использовать ITM
|
||
// Для дальнейшей настройки RETARGET -> retarget_conf.h
|
||
|
||
//-- RCU Конфигурации ---------------------------------------------------------
|
||
static RCU_PLL_Ref_TypeDef SYSCLK_Oscil_Type = RCU_PLL_Ref_OSIClk;
|
||
#define SYSCLK_CORE_CLOCK_MHZ 100
|
||
|
||
//-- GPIO Конфигурации --------------------------------------------------------
|
||
/*
|
||
Note:
|
||
Периферия сама настроит нужные пины в 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 },
|
||
{ GPIO_Pin_3, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_4, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_5, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_6, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_7, GPIO_PinMode_Output, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_8, GPIO_PinMode_Output, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_9, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_10, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_11, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_12, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_13, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_14, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_15, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
};
|
||
|
||
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 },
|
||
{ GPIO_Pin_3, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_4, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_5, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_6, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_7, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_8, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_9, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_10, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_11, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_12, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_13, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_14, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
{ GPIO_Pin_15, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
|
||
};
|
||
|
||
|
||
//-- 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
|
||
};
|
||
#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
|
||
};
|
||
#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
|
||
};
|
||
#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
|
||
};
|
||
#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,
|
||
};
|
||
#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,
|
||
};
|
||
#endif
|
||
|
||
|
||
|
||
#endif /*__PERIPH_CONFIG_H*/
|