150 lines
9.5 KiB
C
150 lines
9.5 KiB
C
/*==============================================================================
|
||
* Конфигурация портов с использованием бибилотеки PLIB035
|
||
*------------------------------------------------------------------------------
|
||
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
|
||
*==============================================================================
|
||
* Реализация функций инициализации портов находится в gpio.c
|
||
* ЦНИИ СЭТ
|
||
*==============================================================================
|
||
*/
|
||
#ifndef __GPIO_H
|
||
#define __GPIO_H
|
||
//-- Includes ------------------------------------------------------------------
|
||
#include "main.h"
|
||
|
||
//-- Defines -------------------------------------------------------------------
|
||
// Дефайны для режима пина OutEnable, AltFuncEnable, DigitalEnable
|
||
#define GPIO_PinMode_Unused DISABLE, DISABLE, DISABLE
|
||
#define GPIO_PinMode_Input DISABLE, DISABLE, ENABLE
|
||
#define GPIO_PinMode_Output ENABLE, DISABLE, ENABLE
|
||
#define GPIO_PinMode_AltFunc DISABLE, ENABLE, ENABLE
|
||
//#define GPIO_PinMode_Analog DISABLE, DISABLE, DISABLE
|
||
|
||
|
||
|
||
|
||
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 },
|
||
};
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
// Другой вариант
|
||
//#define GPIO_OUT_PP_PA_PINS /* GPIO_Pin_0 | */ \
|
||
// /* GPIO_Pin_1 | */ \
|
||
// /* GPIO_Pin_2 | */ \
|
||
// /* GPIO_Pin_3 | */ \
|
||
// /* GPIO_Pin_4 | */ \
|
||
// /* GPIO_Pin_5 | */ \
|
||
// /* GPIO_Pin_6 | */ \
|
||
// GPIO_Pin_7 | \
|
||
// GPIO_Pin_8 | \
|
||
// /* GPIO_Pin_9 | */ \
|
||
// /* GPIO_Pin_10 | */ \
|
||
// /* GPIO_Pin_11 | */ \
|
||
// /* GPIO_Pin_12 | */ \
|
||
// /* GPIO_Pin_13 | */ \
|
||
// /* GPIO_Pin_14 | */ \
|
||
// /* GPIO_Pin_15 | */ \
|
||
// 0
|
||
|
||
//#define GPIO_OUT_PP_PB_PINS /* GPIO_Pin_0 | */ \
|
||
// /* GPIO_Pin_1 | */ \
|
||
// /* GPIO_Pin_2 | */ \
|
||
// /* GPIO_Pin_3 | */ \
|
||
// /* GPIO_Pin_4 | */ \
|
||
// /* GPIO_Pin_5 | */ \
|
||
// /* GPIO_Pin_6 | */ \
|
||
// /* GPIO_Pin_7 | */ \
|
||
// /* GPIO_Pin_8 | */ \
|
||
// /* GPIO_Pin_9 | */ \
|
||
// /* GPIO_Pin_10 | */ \
|
||
// /* GPIO_Pin_11 | */ \
|
||
// /* GPIO_Pin_12 | */ \
|
||
// /* GPIO_Pin_13 | */ \
|
||
// /* GPIO_Pin_14 | */ \
|
||
// /* GPIO_Pin_15 | */ \
|
||
// 0
|
||
//
|
||
//
|
||
//#define GPIO_OUT_OD_PA_PINS /* GPIO_Pin_0 | */ \
|
||
// /* GPIO_Pin_1 | */ \
|
||
// /* GPIO_Pin_2 | */ \
|
||
// /* GPIO_Pin_3 | */ \
|
||
// /* GPIO_Pin_4 | */ \
|
||
// /* GPIO_Pin_5 | */ \
|
||
// /* GPIO_Pin_6 | */ \
|
||
// /* GPIO_Pin_7 | */ \
|
||
// /* GPIO_Pin_8 | */ \
|
||
// /* GPIO_Pin_9 | */ \
|
||
// /* GPIO_Pin_10 | */ \
|
||
// /* GPIO_Pin_11 | */ \
|
||
// /* GPIO_Pin_12 | */ \
|
||
// /* GPIO_Pin_13 | */ \
|
||
// /* GPIO_Pin_14 | */ \
|
||
// /* GPIO_Pin_15 | */ \
|
||
// 0
|
||
//
|
||
//#define GPIO_OUT_OD_PB_PINS /* GPIO_Pin_0 | */ \
|
||
// /* GPIO_Pin_1 | */ \
|
||
// /* GPIO_Pin_2 | */ \
|
||
// /* GPIO_Pin_3 | */ \
|
||
// /* GPIO_Pin_4 | */ \
|
||
// /* GPIO_Pin_5 | */ \
|
||
// /* GPIO_Pin_6 | */ \
|
||
// /* GPIO_Pin_7 | */ \
|
||
// /* GPIO_Pin_8 | */ \
|
||
// /* GPIO_Pin_9 | */ \
|
||
// /* GPIO_Pin_10 | */ \
|
||
// /* GPIO_Pin_11 | */ \
|
||
// /* GPIO_Pin_12 | */ \
|
||
// /* GPIO_Pin_13 | */ \
|
||
// /* GPIO_Pin_14 | */ \
|
||
// /* GPIO_Pin_15 | */ \
|
||
// 0
|
||
|
||
//-- Exported functions prototypes ---------------------------------------------
|
||
void gpio_init(void);
|
||
|
||
#endif /*__GPIO_H*/
|