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 = GPIOQPAD_SPRDA_Msk;
171 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLB);
172 gpioqp_port_mask = 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 = GPIOQPAD_SPRDC_Msk;
193 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLD);
194 gpioqp_port_mask = 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 = GPIOQPEH_SPRDE_Msk;
215 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLF);
216 gpioqp_port_mask = 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 = GPIOQPEH_SPRDG_Msk;
237 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLH);
238 gpioqp_port_mask = 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;
269 void GPIO_AltFuncConfig(NT_GPIO_TypeDef* GPIOx, uint32_t GPIO_Pin,
GPIO_AltFunc_TypeDef GPIO_AltFunc)
271 uint32_t alt_func_temp;
272 __IO uint32_t* GPIOPCTLx;
278 if (GPIOx == NT_GPIOA)
280 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLA);
282 else if (GPIOx == NT_GPIOB)
284 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLB);
286 else if (GPIOx == NT_GPIOC)
288 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLC);
290 else if (GPIOx == NT_GPIOD)
292 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLD);
294 else if (GPIOx == NT_GPIOE)
296 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLE);
298 else if (GPIOx == NT_GPIOF)
300 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLF);
302 else if (GPIOx == NT_GPIOG)
304 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLG);
308 GPIOPCTLx = &(NT_COMMON_REG->GPIOPCTLH);
311 alt_func_temp = *GPIOPCTLx;
312 for (uint32_t i = 0; i < 16; i++)
314 if (GPIO_Pin & (1<<i))
316 alt_func_temp &= ~(3 << i*2);
317 alt_func_temp |= GPIO_AltFunc << i*2;
320 *GPIOPCTLx = alt_func_temp;
333 uint32_t port_offset;
334 __IO uint32_t* GPIOODSCTLx;
335 __IO uint32_t* GPIOPUCTLx;
336 __IO uint32_t* GPIOODCTLx;
337 __IO uint32_t* GPIODENx;
351 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
352 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
362 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
364 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL0);
365 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL0);
366 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL0);
367 GPIODENx = &(NT_COMMON_REG->GPIODEN0);
369 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
371 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL1);
372 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL1);
373 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL1);
374 GPIODENx = &(NT_COMMON_REG->GPIODEN1);
376 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
378 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL2);
379 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL2);
380 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL2);
381 GPIODENx = &(NT_COMMON_REG->GPIODEN2);
385 GPIOODSCTLx = &(NT_COMMON_REG->GPIOODSCTL3);
386 GPIOPUCTLx = &(NT_COMMON_REG->GPIOODSCTL3);
387 GPIOODCTLx = &(NT_COMMON_REG->GPIOODCTL3);
388 GPIODENx = &(NT_COMMON_REG->GPIODEN3);
396 GPIOx->ALTFUNCCLR = GPIO_InitStruct->
GPIO_Pin;
400 GPIOx->ALTFUNCSET = GPIO_InitStruct->
GPIO_Pin;
405 GPIOx->OUTENCLR = GPIO_InitStruct->
GPIO_Pin;
409 GPIOx->OUTENSET = GPIO_InitStruct->
GPIO_Pin;
414 *GPIOODSCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
418 *GPIOODSCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
423 *GPIOPUCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
427 *GPIOPUCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
432 *GPIOODCTLx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
436 *GPIOODCTLx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
441 *GPIODENx &= ~(GPIO_InitStruct->
GPIO_Pin << port_offset);
445 *GPIODENx |= (GPIO_InitStruct->
GPIO_Pin << port_offset);
485 if ((GPIOx->DATA & GPIO_Pin) != (uint32_t)
Bit_CLEAR)
491 bitval = (uint32_t)Bit_CLEAR;
508 return ((uint32_t)GPIOx->DATA);
520 uint32_t mask_low_byte_offset;
521 uint32_t mask_high_byte_offset;
528 mask_low_byte_offset = (MaskVal & MASKLOWBYTE_MASKLB_Msk) >> MASKLOWBYTE_MASKLB_Pos;
529 mask_high_byte_offset = (MaskVal & MASKHIGHBYTE_MASKHB_Msk) >> MASKHIGHBYTE_MASKHB_Pos;
530 low_byte = GPIOx->MASKLOWBYTE[mask_low_byte_offset];
531 high_byte = GPIOx->MASKHIGHBYTE[mask_high_byte_offset];
533 return ((low_byte | high_byte));
555 GPIOx->DATAOUT |= GPIO_Pin;
559 GPIOx->DATAOUT &= ~GPIO_Pin;
575 GPIOx->DATAOUT = PortVal;
588 uint32_t mask_low_byte_offset;
589 uint32_t mask_high_byte_offset;
594 mask_low_byte_offset = (MaskVal & MASKLOWBYTE_MASKLB_Msk) >> MASKLOWBYTE_MASKLB_Pos;
595 mask_high_byte_offset = (MaskVal & MASKHIGHBYTE_MASKHB_Msk) >> MASKHIGHBYTE_MASKHB_Pos;
596 GPIOx->MASKLOWBYTE[mask_low_byte_offset] = PortVal;
597 GPIOx->MASKHIGHBYTE[mask_high_byte_offset] = PortVal;
615 GPIOx->DATAOUT |= GPIO_Pin;
632 GPIOx->DATAOUT &= ~GPIO_Pin;
649 GPIOx->DATAOUT ^= GPIO_Pin;
666 uint32_t gpioqp_port_pos;
667 __IO uint32_t* GPIOQMx;
668 __IO uint32_t* GPIOQPx;
677 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
679 GPIOQMx = &(NT_COMMON_REG->GPIOQM0);
680 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
681 if (GPIOx == NT_GPIOA)
683 gpioqp_port_pos = GPIOQPAD_SPRDA_Pos;
687 gpioqp_port_pos = GPIOQPAD_SPRDB_Pos;
690 else if ((GPIOx == NT_GPIOC) || (GPIOx == NT_GPIOD))
692 GPIOQMx = &(NT_COMMON_REG->GPIOQM1);
693 GPIOQPx = &(NT_COMMON_REG->GPIOQPAD);
694 if (GPIOx == NT_GPIOC)
696 gpioqp_port_pos = GPIOQPAD_SPRDC_Pos;
700 gpioqp_port_pos = GPIOQPAD_SPRDD_Pos;
703 else if ((GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOF))
705 GPIOQMx = &(NT_COMMON_REG->GPIOQM2);
706 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
707 if (GPIOx == NT_GPIOE)
709 gpioqp_port_pos = GPIOQPEH_SPRDE_Pos;
713 gpioqp_port_pos = GPIOQPEH_SPRDF_Pos;
718 GPIOQMx = &(NT_COMMON_REG->GPIOQM3);
719 GPIOQPx = &(NT_COMMON_REG->GPIOQPEH);
720 if (GPIOx == NT_GPIOG)
722 gpioqp_port_pos = GPIOQPEH_SPRDG_Pos;
726 gpioqp_port_pos = GPIOQPEH_SPRDH_Pos;
733 *GPIOQMx &= ~GPIO_Pin;
737 *GPIOQMx |= GPIO_Pin;
740 *GPIOQPx = SamplePerod << gpioqp_port_pos;
755 uint32_t port_offset;
756 __IO uint32_t* GPIOQEx;
764 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
765 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
775 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
777 GPIOQEx = &(NT_COMMON_REG->GPIOQE0);
779 else if ((GPIOx == NT_GPIOB) || (GPIOx == NT_GPIOC))
781 GPIOQEx = &(NT_COMMON_REG->GPIOQE1);
783 else if ((GPIOx == NT_GPIOD) || (GPIOx == NT_GPIOE))
785 GPIOQEx = &(NT_COMMON_REG->GPIOQE2);
789 GPIOQEx = &(NT_COMMON_REG->GPIOQE3);
793 if (State == DISABLE)
795 *GPIOQEx &= ~(GPIO_Pin<<port_offset);
797 else if (State == ENABLE)
799 *GPIOQEx |= GPIO_Pin<<port_offset;
816 uint32_t port_offset;
817 __IO uint32_t* GPIOSEx;
825 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOC) ||
826 (GPIOx == NT_GPIOE) || (GPIOx == NT_GPIOG))
836 if ((GPIOx == NT_GPIOA) || (GPIOx == NT_GPIOB))
838 GPIOSEx = &(NT_COMMON_REG->GPIOSE0);
840 else if ((GPIOx == NT_GPIOB) || (GPIOx == NT_GPIOC))
842 GPIOSEx = &(NT_COMMON_REG->GPIOSE1);
844 else if ((GPIOx == NT_GPIOD) || (GPIOx == NT_GPIOE))
846 GPIOSEx = &(NT_COMMON_REG->GPIOSE2);
850 GPIOSEx = &(NT_COMMON_REG->GPIOSE3);
854 if (State == DISABLE)
856 *GPIOSEx &= ~(GPIO_Pin<<port_offset);
858 else if (State == ENABLE)
860 *GPIOSEx |= GPIO_Pin<<port_offset;
886 GPIOx->INTTYPECLR = GPIO_Pin;
890 GPIOx->INTTYPESET = GPIO_Pin;
895 GPIOx->INTPOLCLR = GPIO_Pin;
899 GPIOx->INTPOLSET = GPIO_Pin;
920 if (State == DISABLE)
922 GPIOx->INTENCLR = GPIO_Pin;
924 else if (State == ENABLE)
926 GPIOx->INTENSET = GPIO_Pin;
944 GPIOx->INTSTATUS = GPIO_Pin;
#define IS_GPIO_OUT_MODE(OUT_MODE)
Макрос проверки аргументов типа GPIO_OutMode_TypeDef.
void GPIO_StructInit(GPIO_Init_TypeDef *GPIO_InitStruct)
Заполнение каждого члена структуры GPIO_InitStruct значениями по умолчанию.
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