/*============================================================================== * Конфигурация портов с использованием бибилотеки PLIB035 *------------------------------------------------------------------------------ * ЦНИИ СЭТ, Разваляев Алексей *============================================================================== * Реализация функций инициализации портов находится в 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*/