72 #define GPIO_DATAOUT_Reset_Value ((uint32_t)0x00000000)
73 #define GPIO_GPIODEN0_Reset_Value ((uint32_t)0x00020062)
74 #define GPIO_GPIODEN1_Reset_Value ((uint32_t)0x08000000)
75 #define GPIO_GPIODEN2_Reset_Value ((uint32_t)0x00000400)
76 #define GPIO_GPIODEN3_Reset_Value ((uint32_t)0x00000000)
77 #define GPIO_GPIOODCTLx_Reset_Value ((uint32_t)0x00000000)
78 #define GPIO_GPIOPUCTLx_Reset_Value ((uint32_t)0x00000000)
79 #define GPIO_GPIOSEx_Reset_Value ((uint32_t)0x00000000)
80 #define GPIO_GPIOQEx_Reset_Value ((uint32_t)0x00000000)
81 #define GPIO_GPIOQMx_Reset_Value ((uint32_t)0x00000000)
82 #define GPIO_GPIOPCTLx_Reset_Value ((uint32_t)0x00000000)
83 #define GPIO_GPIOQPx_Reset_Value ((uint32_t)0x00000000)
93 #define GPIO_Regs_A_C_E_G_Mask ((uint32_t)0x0000FFFF)
94 #define GPIO_Regs_B_D_F_H_Mask ((uint32_t)0xFFFF0000)
95 #define GPIO_Regs_GPIOA_Mask ((uint32_t)0x0000FFFF)
96 #define GPIO_Regs_GPIOB_Mask ((uint32_t)0xFFFF0000)
97 #define GPIO_Regs_GPIOC_Mask ((uint32_t)0x0000FFFF)
98 #define GPIO_Regs_GPIOD_Mask ((uint32_t)0xFFFF0000)
99 #define GPIO_Regs_GPIOE_Mask ((uint32_t)0x0000FFFF)
100 #define GPIO_Regs_GPIOF_Mask ((uint32_t)0xFFFF0000)
101 #define GPIO_Regs_GPIOG_Mask ((uint32_t)0x0000FFFF)
102 #define GPIO_Regs_GPIOH_Mask ((uint32_t)0xFFFF0000)
122 void GPIO_DeInit(NT_GPIO_TypeDef* GPIOx)
124 uint32_t reg_port_mask;
125 uint32_t gpioqp_port_mask;
126 uint32_t gpiodenx_reset_value;
127 __IO uint32_t* GPIODENx;
128 __IO uint32_t* GPIOODCTLx;
129 __IO uint32_t* GPIOPUCTLx;
130 __IO uint32_t* GPIOSEx;
131 __IO uint32_t* GPIOQEx;
132 __IO uint32_t* GPIOQMx;
133 __IO uint32_t* GPIOPCTLx;
134 __IO uint32_t* GPIOQPx;
140 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
141 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
151 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
153 GPIODENx = &(NT_COMMON_REG->GPIODEN0);
155 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL0);
156 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL0);
157 GPIOSEx = &(NT_COMMON_REG->GPIOSE0);
158 GPIOQEx = &(NT_COMMON_REG->GPIOQE0);
159 GPIOQMx = &(NT_COMMON_REG->GPIOQM0);
160 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
161 if (GPIOx == NT_GPIOA)
163 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLA);
164 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDA_Msk;
168 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLB);
169 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDB_Msk;
172 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
174 GPIODENx = &(NT_COMMON_REG->GPIODEN1);
176 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL1);
177 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL1);
178 GPIOSEx = &(NT_COMMON_REG->GPIOSE1);
179 GPIOQEx = &(NT_COMMON_REG->GPIOQE1);
180 GPIOQMx = &(NT_COMMON_REG->GPIOQM1);
181 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
182 if (GPIOx == NT_GPIOC)
184 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLC);
185 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDC_Msk;
189 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLD);
190 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDD_Msk;
193 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
195 GPIODENx = &(NT_COMMON_REG->GPIODEN2);
197 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL2);
198 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL2);
199 GPIOSEx = &(NT_COMMON_REG->GPIOSE2);
200 GPIOQEx = &(NT_COMMON_REG->GPIOQE2);
201 GPIOQMx = &(NT_COMMON_REG->GPIOQM2);
202 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
203 if (GPIOx == NT_GPIOE)
205 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLE);
206 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDE_Msk;
210 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLF);
211 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDF_Msk;
216 GPIODENx = &(NT_COMMON_REG->GPIODEN3);
218 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL3);
219 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL3);
220 GPIOSEx = &(NT_COMMON_REG->GPIOSE3);
221 GPIOQEx = &(NT_COMMON_REG->GPIOQE3);
222 GPIOQMx = &(NT_COMMON_REG->GPIOQM3);
223 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
224 if (GPIOx == NT_GPIOG)
226 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLG);
227 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDG_Msk;
231 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLH);
232 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDH_Msk;
237 GPIOx->OUTENCLR = ((uint32_t)0xFFFFFFFF);
238 GPIOx->ALTFUNCCLR = ((uint32_t)0xFFFFFFFF);
239 GPIOx->INTENCLR = ((uint32_t)0xFFFFFFFF);
240 GPIOx->INTTYPECLR = ((uint32_t)0xFFFFFFFF);
241 GPIOx->INTPOLCLR = ((uint32_t)0xFFFFFFFF);
242 GPIOx->INTSTATUS = ((uint32_t)0xFFFFFFFF);
243 *GPIODENx &= ~reg_port_mask;
244 *GPIODENx |= (gpiodenx_reset_value & reg_port_mask);
245 *GPIOODCTLx &= ~reg_port_mask;
247 *GPIOPUCTLx &= ~reg_port_mask;
249 *GPIOSEx &= ~reg_port_mask;
251 *GPIOQEx &= ~reg_port_mask;
253 *GPIOQMx &= ~reg_port_mask;
256 *GPIOQPx &= ~gpioqp_port_mask;
272 uint32_t alt_func_temp;
273 __IO uint32_t* GPIOPCTLx;
279 if (GPIOx == NT_GPIOA)
281 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLA);
283 else if (GPIOx == NT_GPIOB)
285 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLB);
287 else if (GPIOx == NT_GPIOC)
289 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLC);
291 else if (GPIOx == NT_GPIOD)
293 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLD);
295 else if (GPIOx == NT_GPIOE)
297 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLE);
299 else if (GPIOx == NT_GPIOF)
301 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLF);
303 else if (GPIOx == NT_GPIOG)
305 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLG);
309 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLH);
312 alt_func_temp = *GPIOPCTLx;
313 for (uint32_t i = 0; i < 16; i++)
315 if (GPIO_Pin & (1<<i))
317 alt_func_temp &= ~(3 << i*2);
318 alt_func_temp |= GPIO_AltFunc << i*2;
321 *GPIOPCTLx = alt_func_temp;
334 uint32_t port_offset;
335 __IO uint32_t* GPIOPUCTLx;
336 __IO uint32_t* GPIOODCTLx;
337 __IO uint32_t* GPIODENx;
350 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
351 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
361 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
363 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL0);
364 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL0);
365 GPIODENx = &(NT_COMMON_REG->GPIODEN0);
367 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
369 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL1);
370 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL1);
371 GPIODENx = &(NT_COMMON_REG->GPIODEN1);
373 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
375 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL2);
376 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL2);
377 GPIODENx = &(NT_COMMON_REG->GPIODEN2);
381 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL3);
382 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL3);
383 GPIODENx = &(NT_COMMON_REG->GPIODEN3);
391 GPIOx->ALTFUNCCLR = GPIO_InitStruct->
GPIO_Pin;
395 GPIOx->ALTFUNCSET = GPIO_InitStruct->
GPIO_Pin;
400 GPIOx->OUTENCLR = GPIO_InitStruct->
GPIO_Pin;
404 GPIOx->OUTENSET = GPIO_InitStruct->
GPIO_Pin;
409 *GPIOPUCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
413 *GPIOPUCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
418 *GPIOODCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
422 *GPIOODCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
427 *GPIODENx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
431 *GPIODENx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
470 if ((GPIOx->DATA & GPIO_Pin) != (uint32_t)
Bit_CLEAR)
476 bitval = (uint32_t)Bit_CLEAR;
493 return ((uint32_t)GPIOx->DATA);
505 uint32_t mask_low_byte_offset;
506 uint32_t mask_high_byte_offset;
513 mask_low_byte_offset = (MaskVal & GPIO_MASKLOWBYTE_MASKLB_Msk) >> GPIO_MASKLOWBYTE_MASKLB_Pos;
514 mask_high_byte_offset = (MaskVal & GPIO_MASKHIGHBYTE_MASKHB_Msk) >> GPIO_MASKHIGHBYTE_MASKHB_Pos;
515 low_byte = GPIOx->MASKLOWBYTE[mask_low_byte_offset];
516 high_byte = GPIOx->MASKHIGHBYTE[mask_high_byte_offset];
518 return ((low_byte | high_byte));
540 GPIOx->DATAOUT |= GPIO_Pin;
544 GPIOx->DATAOUT &= ~GPIO_Pin;
560 GPIOx->DATAOUT = PortVal;
573 uint32_t mask_low_byte_offset;
574 uint32_t mask_high_byte_offset;
579 mask_low_byte_offset = (MaskVal & GPIO_MASKLOWBYTE_MASKLB_Msk) >> GPIO_MASKLOWBYTE_MASKLB_Pos;
580 mask_high_byte_offset = (MaskVal & GPIO_MASKHIGHBYTE_MASKHB_Msk) >> GPIO_MASKHIGHBYTE_MASKHB_Pos;
581 GPIOx->MASKLOWBYTE[mask_low_byte_offset] = PortVal;
582 GPIOx->MASKHIGHBYTE[mask_high_byte_offset] = PortVal;
600 GPIOx->DATAOUT |= GPIO_Pin;
617 GPIOx->DATAOUT &= ~GPIO_Pin;
634 GPIOx->DATAOUT ^= GPIO_Pin;
651 uint32_t gpioqp_port_pos;
652 __IO uint32_t* GPIOQMx;
653 __IO uint32_t* GPIOQPx;
662 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
664 GPIOQMx = &(NT_COMMON_REG->GPIOQM0);
665 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
666 if (GPIOx == NT_GPIOA)
668 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDA_Pos;
672 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDB_Pos;
675 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
677 GPIOQMx = &(NT_COMMON_REG->GPIOQM1);
678 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
679 if (GPIOx == NT_GPIOC)
681 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDC_Pos;
685 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDD_Pos;
688 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
690 GPIOQMx = &(NT_COMMON_REG->GPIOQM2);
691 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
692 if (GPIOx == NT_GPIOE)
694 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDE_Pos;
698 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDF_Pos;
703 GPIOQMx = &(NT_COMMON_REG->GPIOQM3);
704 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
705 if (GPIOx == NT_GPIOG)
707 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDG_Pos;
711 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDH_Pos;
718 *GPIOQMx &= ~GPIO_Pin;
722 *GPIOQMx |= GPIO_Pin;
725 *GPIOQPx = SamplePerod << gpioqp_port_pos;
740 uint32_t port_offset;
741 __IO uint32_t* GPIOQEx;
749 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
750 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
760 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
762 GPIOQEx = &(NT_COMMON_REG->GPIOQE0);
764 else if ((GPIOx == NT_GPIOB) || (GPIOx == NT_GPIOC))
766 GPIOQEx = &(NT_COMMON_REG->GPIOQE1);
768 else if ((GPIOx == NT_GPIOD) || (GPIOx == NT_GPIOE))
770 GPIOQEx = &(NT_COMMON_REG->GPIOQE2);
774 GPIOQEx = &(NT_COMMON_REG->GPIOQE3);
778 if (State == DISABLE)
780 *GPIOQEx &= ~(GPIO_Pin<<port_offset);
782 else if (State == ENABLE)
784 *GPIOQEx |= GPIO_Pin<<port_offset;
801 uint32_t port_offset;
802 __IO uint32_t* GPIOSEx;
810 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
811 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
821 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
823 GPIOSEx = &(NT_COMMON_REG->GPIOSE0);
825 else if ((GPIOx == NT_GPIOB) || (GPIOx == NT_GPIOC))
827 GPIOSEx = &(NT_COMMON_REG->GPIOSE1);
829 else if ((GPIOx == NT_GPIOD) || (GPIOx == NT_GPIOE))
831 GPIOSEx = &(NT_COMMON_REG->GPIOSE2);
835 GPIOSEx = &(NT_COMMON_REG->GPIOSE3);
839 if (State == DISABLE)
841 *GPIOSEx &= ~(GPIO_Pin<<port_offset);
843 else if (State == ENABLE)
845 *GPIOSEx |= GPIO_Pin<<port_offset;
871 GPIOx->INTTYPECLR = GPIO_Pin;
875 GPIOx->INTTYPESET = GPIO_Pin;
880 GPIOx->INTPOLCLR = GPIO_Pin;
884 GPIOx->INTPOLSET = GPIO_Pin;
905 if (State == DISABLE)
907 GPIOx->INTENCLR = GPIO_Pin;
909 else if (State == ENABLE)
911 GPIOx->INTENSET = GPIO_Pin;
929 GPIOx->INTSTATUS = GPIO_Pin;
948 if (GPIOx->INTSTATUS & GPIO_Pin)
#define IS_GPIO_OUT_MODE(OUT_MODE)
Макрос проверки аргументов типа GPIO_OutMode_TypeDef.
FlagStatus GPIO_ITStatus(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Чтение флага прерываний выбранных пинов.
void GPIO_WriteBit(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, BitAction BitVal)
Изменение состояния выбранного пина.
#define GPIO_DATAOUT_Reset_Value
#define IS_GPIO_ALT_FUNC(ALT_FUNC)
Макрос проверки аргументов типа GPIO_AltFunc_TypeDef.
#define GPIO_GPIODEN2_Reset_Value
#define IS_GPIO_ALL_PERIPH(PERIPH)
Макрос проверки аргументов типа NT_GPIO_TypeDef.
GPIO_AltFunc_TypeDef GPIO_AltFunc
#define IS_GET_GPIO_PIN(PIN)
Макрос проверки номера пина при работе с пинами по отдельности.
void GPIO_Init(NT_GPIO_TypeDef *GPIOx, GPIO_Init_TypeDef *GPIO_InitStruct)
Инициализирует модуль GPIOx согласно параметрам структуры GPIO_InitStruct.
#define GPIO_GPIOSEx_Reset_Value
void GPIO_WriteMask(NT_GPIO_TypeDef *GPIOx, uint32_t MaskVal, uint32_t PortVal)
Изменение состояния выбранного порта GPIOx с использованием маски.
void GPIO_AltFuncConfig(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, GPIO_AltFunc_TypeDef GPIO_AltFunc)
Осуществляет выбор альтернативной функции вывода GPIOx.
#define IS_GPIO_OUT(OUT)
Макрос проверки аргументов типа GPIO_Out_TypeDef.
void GPIO_StructInit(GPIO_Init_TypeDef *GPIO_InitStruct)
Заполнение каждого члена структуры GPIO_InitStruct значениями по умолчанию.
void GPIO_ClearBits(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Сброс выбранных пинов.
#define GPIO_GPIODEN0_Reset_Value
#define GPIO_Regs_A_C_E_G_Mask
#define IS_GPIO_PULLUP(PULLUP)
Макрос проверки аргументов типа GPIO_PullUp_TypeDef.
uint32_t GPIO_ReadBit(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Чтение состояния выбранного пина.
GPIO_OutMode_TypeDef GPIO_OutMode
void GPIO_QualConfig(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, GPIO_QualMode_TypeDef Mode, uint32_t SamplePerod)
Настройка фильтра выбранных пинов.
GPIO_IntPol_TypeDef
Выбор полярности события для возникновения прерывания.
#define GPIO_GPIOQMx_Reset_Value
void GPIO_ITCmd(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, FunctionalState State)
Включение прерываний выбранных пинов.
#define GPIO_GPIOQEx_Reset_Value
#define GPIO_GPIOPCTLx_Reset_Value
GPIO_AltFunc_TypeDef
Выбор номера альтернативной функции пина.
#define GPIO_GPIOPUCTLx_Reset_Value
#define IS_GPIO_INT_POL(INT_POL)
Макрос проверки аргументов типа GPIO_IntPol_TypeDef.
void GPIO_ITConfig(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, GPIO_IntType_TypeDef IntType, GPIO_IntPol_TypeDef IntPol)
Настройка прерываний пинов.
#define IS_GPIO_MODE(MODE)
Макрос проверки аргументов типа GPIO_Mode_TypeDef.
GPIO_Out_TypeDef GPIO_Out
GPIO_IntType_TypeDef
Выбор события для возникновения прерывания.
Структура инициализации GPIO.
FlagStatus
Описывает возможные состояния флага при запросе его статуса.
#define IS_GPIO_DIR(DIR)
Макрос проверки аргументов типа GPIO_Dir_TypeDef.
GPIO_Mode_TypeDef GPIO_Mode
#define IS_GPIO_QUAL_PERIOD(PERIOD)
Макрос проверки соответсвия величины периода фильтрации разрешенному диапазону.
void GPIO_QualCmd(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, FunctionalState State)
Включение входных фильтров.
void GPIO_SyncCmd(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, FunctionalState State)
Включение пересинхронизации входов через 2 триггера-защелки.
FunctionalState
Описывает логическое состояние периферии. Используется для операций включения/выключения периферийных...
void GPIO_Write(NT_GPIO_TypeDef *GPIOx, uint32_t PortVal)
Изменение состояния выбранного порта GPIOx.
#define IS_GPIO_QUAL_MODE(QUAL_MODE)
Макрос проверки аргументов типа GPIO_QualMode_TypeDef.
void GPIO_SetBits(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Установка выбранных пинов.
BitAction
Тип, определяющий состояния бита.
#define GPIO_GPIOODCTLx_Reset_Value
#define GPIO_Regs_B_D_F_H_Mask
#define IS_FUNCTIONAL_STATE(STATE)
Макрос проверки аргументов типа FunctionalState.
#define GPIO_GPIODEN3_Reset_Value
void GPIO_ToggleBits(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Переключение выбранных пинов в противоположное состояние.
GPIO_PullUp_TypeDef GPIO_PullUp
GPIO_Dir_TypeDef GPIO_Dir
GPIO_QualMode_TypeDef
Выбор режима работы входного фильтра.
#define IS_GPIO_PIN(PIN)
Макрос проверки номеров пинов на попадание в допустимый диапазон.
#define IS_GPIO_BIT_ACTION(ACTION)
Макрос проверки аргументов типа BitAction.
Файл содержит все прототипы функций для GPIO.
#define GPIO_GPIODEN1_Reset_Value
void GPIO_ITStatusClear(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Очистка флагов прерываний выбранных пинов.
uint32_t GPIO_ReadMask(NT_GPIO_TypeDef *GPIOx, uint32_t MaskVal)
Чтение состояния выбранного порта GPIOx c использованием маски.
#define GPIO_GPIOQPx_Reset_Value
uint32_t GPIO_Read(NT_GPIO_TypeDef *GPIOx)
Чтение состояния выбранного порта GPIOx.
#define IS_GPIO_INT_TYPE(INT_TYPE)
Макрос проверки аргументов типа GPIO_IntType_TypeDef.