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_GPIOODSCTLx_Reset_Value ((uint32_t)0x00000000)
79 #define GPIO_GPIOPUCTLx_Reset_Value ((uint32_t)0x00000000)
80 #define GPIO_GPIOSEx_Reset_Value ((uint32_t)0x00000000)
81 #define GPIO_GPIOQEx_Reset_Value ((uint32_t)0x00000000)
82 #define GPIO_GPIOQMx_Reset_Value ((uint32_t)0x00000000)
83 #define GPIO_GPIOPCTLx_Reset_Value ((uint32_t)0x00000000)
84 #define GPIO_GPIOQPx_Reset_Value ((uint32_t)0x00000000)
94 #define GPIO_Regs_A_C_E_G_Mask ((uint32_t)0x0000FFFF)
95 #define GPIO_Regs_B_D_F_H_Mask ((uint32_t)0xFFFF0000)
96 #define GPIO_Regs_GPIOA_Mask ((uint32_t)0x0000FFFF)
97 #define GPIO_Regs_GPIOB_Mask ((uint32_t)0xFFFF0000)
98 #define GPIO_Regs_GPIOC_Mask ((uint32_t)0x0000FFFF)
99 #define GPIO_Regs_GPIOD_Mask ((uint32_t)0xFFFF0000)
100 #define GPIO_Regs_GPIOE_Mask ((uint32_t)0x0000FFFF)
101 #define GPIO_Regs_GPIOF_Mask ((uint32_t)0xFFFF0000)
102 #define GPIO_Regs_GPIOG_Mask ((uint32_t)0x0000FFFF)
103 #define GPIO_Regs_GPIOH_Mask ((uint32_t)0xFFFF0000)
123 void GPIO_DeInit(NT_GPIO_TypeDef* GPIOx)
125 uint32_t reg_port_mask;
126 uint32_t gpioqp_port_mask;
127 uint32_t gpiodenx_reset_value;
128 __IO uint32_t* GPIODENx;
129 __IO uint32_t* GPIOODCTLx;
130 __IO uint32_t* GPIOODSCTLx;
131 __IO uint32_t* GPIOPUCTLx;
132 __IO uint32_t* GPIOSEx;
133 __IO uint32_t* GPIOQEx;
134 __IO uint32_t* GPIOQMx;
135 __IO uint32_t* GPIOPCTLx;
136 __IO uint32_t* GPIOQPx;
142 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
143 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
153 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
155 GPIODENx = &(NT_COMMON_REG->GPIODEN0);
157 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL0);
158 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL0);
159 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL0);
160 GPIOSEx = &(NT_COMMON_REG->GPIOSE0);
161 GPIOQEx = &(NT_COMMON_REG->GPIOQE0);
162 GPIOQMx = &(NT_COMMON_REG->GPIOQM0);
163 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
164 if (GPIOx == NT_GPIOA)
166 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLA);
167 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDA_Msk;
171 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLB);
172 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDB_Msk;
175 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
177 GPIODENx = &(NT_COMMON_REG->GPIODEN1);
179 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL1);
180 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL1);
181 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL1);
182 GPIOSEx = &(NT_COMMON_REG->GPIOSE1);
183 GPIOQEx = &(NT_COMMON_REG->GPIOQE1);
184 GPIOQMx = &(NT_COMMON_REG->GPIOQM1);
185 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
186 if (GPIOx == NT_GPIOC)
188 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLC);
189 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDC_Msk;
193 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLD);
194 gpioqp_port_mask = COMMON_REG_GPIOQPAD_SPRDD_Msk;
197 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
199 GPIODENx = &(NT_COMMON_REG->GPIODEN2);
201 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL2);
202 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL2);
203 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL2);
204 GPIOSEx = &(NT_COMMON_REG->GPIOSE2);
205 GPIOQEx = &(NT_COMMON_REG->GPIOQE2);
206 GPIOQMx = &(NT_COMMON_REG->GPIOQM2);
207 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
208 if (GPIOx == NT_GPIOE)
210 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLE);
211 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDE_Msk;
215 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLF);
216 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDF_Msk;
221 GPIODENx = &(NT_COMMON_REG->GPIODEN3);
223 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL3);
224 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL3);
225 GPIOPUCTLx = &(NT_COMMON_REG->GPIOPUCTL3);
226 GPIOSEx = &(NT_COMMON_REG->GPIOSE3);
227 GPIOQEx = &(NT_COMMON_REG->GPIOQE3);
228 GPIOQMx = &(NT_COMMON_REG->GPIOQM3);
229 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
230 if (GPIOx == NT_GPIOG)
232 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLG);
233 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDG_Msk;
237 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLH);
238 gpioqp_port_mask = COMMON_REG_GPIOQPEH_SPRDH_Msk;
243 GPIOx->OUTENCLR = ((uint32_t)0xFFFFFFFF);
244 GPIOx->ALTFUNCCLR = ((uint32_t)0xFFFFFFFF);
245 GPIOx->INTENCLR = ((uint32_t)0xFFFFFFFF);
246 GPIOx->INTTYPECLR = ((uint32_t)0xFFFFFFFF);
247 GPIOx->INTPOLCLR = ((uint32_t)0xFFFFFFFF);
248 GPIOx->INTSTATUS = ((uint32_t)0xFFFFFFFF);
249 *GPIODENx &= ~reg_port_mask;
250 *GPIODENx |= (gpiodenx_reset_value & reg_port_mask);
251 *GPIOODCTLx &= ~reg_port_mask;
253 *GPIOODSCTLx &= ~reg_port_mask;
255 *GPIOPUCTLx &= ~reg_port_mask;
257 *GPIOSEx &= ~reg_port_mask;
259 *GPIOQEx &= ~reg_port_mask;
261 *GPIOQMx &= ~reg_port_mask;
264 *GPIOQPx &= ~gpioqp_port_mask;
280 uint32_t alt_func_temp;
281 __IO uint32_t* GPIOPCTLx;
287 if (GPIOx == NT_GPIOA)
289 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLA);
291 else if (GPIOx == NT_GPIOB)
293 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLB);
295 else if (GPIOx == NT_GPIOC)
297 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLC);
299 else if (GPIOx == NT_GPIOD)
301 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLD);
303 else if (GPIOx == NT_GPIOE)
305 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLE);
307 else if (GPIOx == NT_GPIOF)
309 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLF);
311 else if (GPIOx == NT_GPIOG)
313 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLG);
317 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLH);
320 alt_func_temp = *GPIOPCTLx;
321 for (uint32_t i = 0; i < 16; i++)
323 if (GPIO_Pin & (1<<i))
325 alt_func_temp &= ~(3 << i*2);
326 alt_func_temp |= GPIO_AltFunc << i*2;
329 *GPIOPCTLx = alt_func_temp;
342 uint32_t port_offset;
343 __IO uint32_t* GPIOODSCTLx;
344 __IO uint32_t* GPIOPUCTLx;
345 __IO uint32_t* GPIOODCTLx;
346 __IO uint32_t* GPIODENx;
360 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
361 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
371 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
373 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL0);
374 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL0);
375 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL0);
376 GPIODENx = &(NT_COMMON_REG->GPIODEN0);
378 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
380 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL1);
381 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL1);
382 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL1);
383 GPIODENx = &(NT_COMMON_REG->GPIODEN1);
385 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
387 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL2);
388 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL2);
389 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL2);
390 GPIODENx = &(NT_COMMON_REG->GPIODEN2);
394 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL3);
395 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL3);
396 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL3);
397 GPIODENx = &(NT_COMMON_REG->GPIODEN3);
405 GPIOx->ALTFUNCCLR = GPIO_InitStruct->
GPIO_Pin;
409 GPIOx->ALTFUNCSET = GPIO_InitStruct->
GPIO_Pin;
414 GPIOx->OUTENCLR = GPIO_InitStruct->
GPIO_Pin;
418 GPIOx->OUTENSET = GPIO_InitStruct->
GPIO_Pin;
423 *GPIOODSCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
427 *GPIOODSCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
432 *GPIOPUCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
436 *GPIOPUCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
441 *GPIOODCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
445 *GPIOODCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
450 *GPIODENx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
454 *GPIODENx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
494 if ((GPIOx->DATA & GPIO_Pin) != (uint32_t)
Bit_CLEAR)
500 bitval = (uint32_t)Bit_CLEAR;
517 return ((uint32_t)GPIOx->DATA);
529 uint32_t mask_low_byte_offset;
530 uint32_t mask_high_byte_offset;
537 mask_low_byte_offset = (MaskVal & GPIO_MASKLOWBYTE_MASKLB_Msk) >> GPIO_MASKLOWBYTE_MASKLB_Pos;
538 mask_high_byte_offset = (MaskVal & GPIO_MASKHIGHBYTE_MASKHB_Msk) >> GPIO_MASKHIGHBYTE_MASKHB_Pos;
539 low_byte = GPIOx->MASKLOWBYTE[mask_low_byte_offset];
540 high_byte = GPIOx->MASKHIGHBYTE[mask_high_byte_offset];
542 return ((low_byte | high_byte));
564 GPIOx->DATAOUT |= GPIO_Pin;
568 GPIOx->DATAOUT &= ~GPIO_Pin;
584 GPIOx->DATAOUT = PortVal;
597 uint32_t mask_low_byte_offset;
598 uint32_t mask_high_byte_offset;
603 mask_low_byte_offset = (MaskVal & GPIO_MASKLOWBYTE_MASKLB_Msk) >> GPIO_MASKLOWBYTE_MASKLB_Pos;
604 mask_high_byte_offset = (MaskVal & GPIO_MASKHIGHBYTE_MASKHB_Msk) >> GPIO_MASKHIGHBYTE_MASKHB_Pos;
605 GPIOx->MASKLOWBYTE[mask_low_byte_offset] = PortVal;
606 GPIOx->MASKHIGHBYTE[mask_high_byte_offset] = PortVal;
624 GPIOx->DATAOUT |= GPIO_Pin;
641 GPIOx->DATAOUT &= ~GPIO_Pin;
658 GPIOx->DATAOUT ^= GPIO_Pin;
675 uint32_t gpioqp_port_pos;
676 __IO uint32_t* GPIOQMx;
677 __IO uint32_t* GPIOQPx;
686 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
688 GPIOQMx = &(NT_COMMON_REG->GPIOQM0);
689 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
690 if (GPIOx == NT_GPIOA)
692 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDA_Pos;
696 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDB_Pos;
699 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
701 GPIOQMx = &(NT_COMMON_REG->GPIOQM1);
702 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
703 if (GPIOx == NT_GPIOC)
705 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDC_Pos;
709 gpioqp_port_pos = COMMON_REG_GPIOQPAD_SPRDD_Pos;
712 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
714 GPIOQMx = &(NT_COMMON_REG->GPIOQM2);
715 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
716 if (GPIOx == NT_GPIOE)
718 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDE_Pos;
722 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDF_Pos;
727 GPIOQMx = &(NT_COMMON_REG->GPIOQM3);
728 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
729 if (GPIOx == NT_GPIOG)
731 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDG_Pos;
735 gpioqp_port_pos = COMMON_REG_GPIOQPEH_SPRDH_Pos;
742 *GPIOQMx &= ~GPIO_Pin;
746 *GPIOQMx |= GPIO_Pin;
749 *GPIOQPx = SamplePerod << gpioqp_port_pos;
764 uint32_t port_offset;
765 __IO uint32_t* GPIOQEx;
773 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
774 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
784 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
786 GPIOQEx = &(NT_COMMON_REG->GPIOQE0);
788 else if ((GPIOx == NT_GPIOB) || (GPIOx == NT_GPIOC))
790 GPIOQEx = &(NT_COMMON_REG->GPIOQE1);
792 else if ((GPIOx == NT_GPIOD) || (GPIOx == NT_GPIOE))
794 GPIOQEx = &(NT_COMMON_REG->GPIOQE2);
798 GPIOQEx = &(NT_COMMON_REG->GPIOQE3);
802 if (State == DISABLE)
804 *GPIOQEx &= ~(GPIO_Pin<<port_offset);
806 else if (State == ENABLE)
808 *GPIOQEx |= GPIO_Pin<<port_offset;
825 uint32_t port_offset;
826 __IO uint32_t* GPIOSEx;
834 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
835 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
845 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
847 GPIOSEx = &(NT_COMMON_REG->GPIOSE0);
849 else if ((GPIOx == NT_GPIOB) || (GPIOx == NT_GPIOC))
851 GPIOSEx = &(NT_COMMON_REG->GPIOSE1);
853 else if ((GPIOx == NT_GPIOD) || (GPIOx == NT_GPIOE))
855 GPIOSEx = &(NT_COMMON_REG->GPIOSE2);
859 GPIOSEx = &(NT_COMMON_REG->GPIOSE3);
863 if (State == DISABLE)
865 *GPIOSEx &= ~(GPIO_Pin<<port_offset);
867 else if (State == ENABLE)
869 *GPIOSEx |= GPIO_Pin<<port_offset;
895 GPIOx->INTTYPECLR = GPIO_Pin;
899 GPIOx->INTTYPESET = GPIO_Pin;
904 GPIOx->INTPOLCLR = GPIO_Pin;
908 GPIOx->INTPOLSET = GPIO_Pin;
929 if (State == DISABLE)
931 GPIOx->INTENCLR = GPIO_Pin;
933 else if (State == ENABLE)
935 GPIOx->INTENSET = GPIO_Pin;
953 GPIOx->INTSTATUS = GPIO_Pin;
#define IS_GPIO_OUT_MODE(OUT_MODE)
Макрос проверки аргументов типа GPIO_OutMode_TypeDef.
void GPIO_StructInit(GPIO_Init_TypeDef *GPIO_InitStruct)
Заполнение каждого члена структуры GPIO_InitStruct значениями по умолчанию.
void GPIO_AltFuncConfig(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, GPIO_AltFunc_TypeDef GPIO_AltFunc)
Осуществляет выбор альтернативной функции вывода GPIOx.
GPIO_Load_TypeDef GPIO_Load
void GPIO_ITConfig(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, GPIO_IntType_TypeDef IntType, GPIO_IntPol_TypeDef IntPol)
Настройка прерываний пинов.
#define GPIO_DATAOUT_Reset_Value
void GPIO_WriteMask(NT_GPIO_TypeDef *GPIOx, uint32_t MaskVal, uint32_t PortVal)
Изменение состояния выбранного порта GPIOx с использованием маски.
FunctionalState
Описывает логическое состояние периферии. Используется для операций включения/выключения периферийных...
#define IS_GPIO_ALT_FUNC(ALT_FUNC)
Макрос проверки аргументов типа GPIO_AltFunc_TypeDef.
#define GPIO_GPIODEN2_Reset_Value
#define IS_GPIO_BIT_ACTION(ACTION)
Макрос проверки аргументов типа BitAction.
#define IS_GPIO_ALL_PERIPH(PERIPH)
Макрос проверки аргументов типа NT_GPIO_TypeDef.
GPIO_AltFunc_TypeDef GPIO_AltFunc
#define IS_GET_GPIO_PIN(PIN)
Макрос проверки номера пина при работе с пинами по отдельности.
#define GPIO_GPIOSEx_Reset_Value
void GPIO_SyncCmd(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, FunctionalState State)
Включение пересинхронизации входов через 2 триггера-защелки.
#define IS_GPIO_OUT(OUT)
Макрос проверки аргументов типа GPIO_Out_TypeDef.
#define GPIO_GPIODEN0_Reset_Value
#define GPIO_Regs_A_C_E_G_Mask
#define IS_GPIO_PULLUP(PULLUP)
Макрос проверки аргументов типа GPIO_PullUp_TypeDef.
GPIO_OutMode_TypeDef GPIO_OutMode
void GPIO_QualCmd(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, FunctionalState State)
Включение входных фильтров.
GPIO_IntPol_TypeDef
Выбор полярности события для возникновения прерывания.
#define GPIO_GPIOQMx_Reset_Value
uint32_t GPIO_ReadBit(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Чтение состояния выбранного пина.
#define GPIO_GPIOQEx_Reset_Value
void GPIO_ITStatusClear(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Очистка флагов прерываний выбранных пинов.
#define GPIO_GPIOPCTLx_Reset_Value
GPIO_AltFunc_TypeDef
Выбор номера альтернативной функции пина.
uint32_t GPIO_ReadMask(NT_GPIO_TypeDef *GPIOx, uint32_t MaskVal)
Чтение состояния выбранного порта GPIOx c использованием маски.
#define GPIO_GPIOPUCTLx_Reset_Value
#define IS_GPIO_INT_POL(INT_POL)
Макрос проверки аргументов типа GPIO_IntPol_TypeDef.
void GPIO_Init(NT_GPIO_TypeDef *GPIOx, GPIO_Init_TypeDef *GPIO_InitStruct)
Инициализирует модуль GPIOx согласно параметрам структуры GPIO_InitStruct.
#define IS_GPIO_MODE(MODE)
Макрос проверки аргументов типа GPIO_Mode_TypeDef.
GPIO_Out_TypeDef GPIO_Out
GPIO_IntType_TypeDef
Выбор события для возникновения прерывания.
void GPIO_QualConfig(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, GPIO_QualMode_TypeDef Mode, uint32_t SamplePerod)
Настройка фильтра выбранных пинов.
Структура инициализации GPIO.
void GPIO_ClearBits(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Сброс выбранных пинов.
void GPIO_WriteBit(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, BitAction BitVal)
Изменение состояния выбранного пина.
#define IS_GPIO_DIR(DIR)
Макрос проверки аргументов типа GPIO_Dir_TypeDef.
#define IS_GPIO_QUAL_PERIOD(PERIOD)
Макрос проверки соответсвия величины периода фильтрации разрешенному диапазону.
GPIO_Mode_TypeDef GPIO_Mode
uint32_t GPIO_Read(NT_GPIO_TypeDef *GPIOx)
Чтение состояния выбранного порта GPIOx.
#define IS_GPIO_QUAL_MODE(QUAL_MODE)
Макрос проверки аргументов типа GPIO_QualMode_TypeDef.
#define IS_FUNCTIONAL_STATE(STATE)
Макрос проверки аргументов типа FunctionalState.
BitAction
Тип, определяющий состояния бита.
#define GPIO_GPIOODCTLx_Reset_Value
#define GPIO_Regs_B_D_F_H_Mask
#define GPIO_GPIODEN3_Reset_Value
GPIO_PullUp_TypeDef GPIO_PullUp
GPIO_Dir_TypeDef GPIO_Dir
void GPIO_SetBits(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Установка выбранных пинов.
GPIO_QualMode_TypeDef
Выбор режима работы входного фильтра.
void GPIO_Write(NT_GPIO_TypeDef *GPIOx, uint32_t PortVal)
Изменение состояния выбранного порта GPIOx.
Файл содержит все прототипы функций для GPIO.
#define GPIO_GPIODEN1_Reset_Value
void GPIO_ITCmd(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin, FunctionalState State)
Включение прерываний выбранных пинов.
void GPIO_ToggleBits(NT_GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Переключение выбранных пинов в противоположное состояние.
#define IS_GPIO_LOAD(LOAD)
Макрос проверки аргументов типа GPIO_Load_TypeDef.
#define GPIO_GPIOQPx_Reset_Value
#define IS_GPIO_PIN(PIN)
Макрос проверки номеров пинов на попадание в допустимый диапазон.
#define IS_GPIO_INT_TYPE(INT_TYPE)
Макрос проверки аргументов типа GPIO_IntType_TypeDef.
#define GPIO_GPIOODSCTLx_Reset_Value