Thisparametercanbeavalueof@refGPIOPuPd_TypeDef*/
}GPIO_InitTypeDef;
/*Exportedconstants--------------------------------------------------------*/
/**@defgroupGPIO_Exported_Constants
*@{
*/
/**@defgroupGPIO_pins_define
*@{
*/
#defineGPIO_Pin_0((uint16_t)0x0001)/*Pin0selected*/
#defineGPIO_Pin_1((uint16_t)0x0002)/*Pin1selected*/
#defineGPIO_Pin_2((uint16_t)0x0004)/*Pin2selected*/
#defineGPIO_Pin_3((uint16_t)0x0008)/*Pin3selected*/
#defineGPIO_Pin_4((uint16_t)0x0010)/*Pin4selected*/
#defineGPIO_Pin_5((uint16_t)0x0020)/*Pin5selected*/
#defineGPIO_Pin_6((uint16_t)0x0040)/*Pin6selected*/
#defineGPIO_Pin_7((uint16_t)0x0080)/*Pin7selected*/
#defineGPIO_Pin_8((uint16_t)0x0100)/*Pin8selected*/
#defineGPIO_Pin_9((uint16_t)0x0200)/*Pin9selected*/
#defineGPIO_Pin_10((uint16_t)0x0400)/*Pin10selected*/
#defineGPIO_Pin_11((uint16_t)0x0800)/*Pin11selected*/
#defineGPIO_Pin_12((uint16_t)0x1000)/*Pin12selected*/
#defineGPIO_Pin_13((uint16_t)0x2000)/*Pin13selected*/
#defineGPIO_Pin_14((uint16_t)0x4000)/*Pin14selected*/
#defineGPIO_Pin_15((uint16_t)0x8000)/*Pin15selected*/
#defineGPIO_Pin_All((uint16_t)0xFFFF)/*Allpinsselected*/
#defineIS_GPIO_PIN(PIN)((((PIN)&(uint16_t)0x00)==0x00)&&((PIN)!
=(uint16_t)0x00))
#defineIS_GET_GPIO_PIN(PIN)(((PIN)==GPIO_Pin_0)||\
((PIN)==GPIO_Pin_1)||\
((PIN)==GPIO_Pin_2)||\
((PIN)==GPIO_Pin_3)||\
((PIN)==GPIO_Pin_4)||\
((PIN)==GPIO_Pin_5)||\
((PIN)==GPIO_Pin_6)||\
((PIN)==GPIO_Pin_7)||\
((PIN)==GPIO_Pin_8)||\
((PIN)==GPIO_Pin_9)||\
((PIN)==GPIO_Pin_10)||\
((PIN)==GPIO_Pin_11)||\
((PIN)==GPIO_Pin_12)||\
((PIN)==GPIO_Pin_13)||\
((PIN)==GPIO_Pin_14)||\
((PIN)==GPIO_Pin_15))
/**
*@}
*/
/**@defgroupGPIO_Pin_sources
*@{
*/
#defineGPIO_PinSource0((uint8_t)0x00)
#defineGPIO_PinSource1((uint8_t)0x01)
#defineGPIO_PinSource2((uint8_t)0x02)
#defineGPIO_PinSource3((uint8_t)0x03)
#defineGPIO_PinSource4((uint8_t)0x04)
#defineGPIO_PinSource5((uint8_t)0x05)
#defineGPIO_PinSource6((uint8_t)0x06)
#defineGPIO_PinSource7((uint8_t)0x07)
#defineGPIO_PinSource8((uint8_t)0x08)
#defineGPIO_PinSource9((uint8_t)0x09)
#defineGPIO_PinSource10((uint8_t)0x0A)
#defineGPIO_PinSource11((uint8_t)0x0B)
#defineGPIO_PinSource12((uint8_t)0x0C)
#defineGPIO_PinSource13((uint8_t)0x0D)
#defineGPIO_PinSource14((uint8_t)0x0E)
#defineGPIO_PinSource15((uint8_t)0x0F)
#defineIS_GPIO_PIN_SOURCE(PINSOURCE)(((PINSOURCE)==GPIO_PinSource0)||\
((PINSOURCE)==GPIO_PinSource1)||\
((PINSOURCE)==GPIO_PinSource2)||\
((PINSOURCE)==GPIO_PinSource3)||\
((PINSOURCE)==GPIO_PinSource4)||\
((PINSOURCE)==GPIO_PinSource5)||\
((PINSOURCE)==GPIO_PinSource6)||\
((PINSOURCE)==GPIO_PinSource7)||\
((PINSOURCE)==GPIO_PinSource8)||\
((PINSOURCE)==GPIO_PinSource9)||\
((PINSOURCE)==GPIO_PinSource10)||\
((PINSOURCE)==GPIO_PinSource11)||\
((PINSOURCE)==GPIO_PinSource12)||\
((PINSOURCE)==GPIO_PinSource13)||\
((PINSOURCE)==GPIO_PinSource14)||\
((PINSOURCE)==GPIO_PinSource15))
/**
*@}
*/
/**@defgroupGPIO_Alternat_function_selection_define
*@{
*/
/**
*@briefAF0selection
*/
#defineGPIO_AF_RTC_50Hz((uint8_t)0x00)/*RTC_50HzAlternateFunctionmapping*/
#defineGPIO_AF_MCO((uint8_t)0x00)/*MCO(MCO1andMCO2)AlternateFunctionmapping*/
#defineGPIO_AF_TAMPER((uint8_t)0x00)/*TAMPER(TAMPER_1andTAMPER_2)AlternateFunctionmapping*/
#defineGPIO_AF_SWJ((uint8_t)0x00)/*SWJ(SWDandJTAG)AlternateFunctionmapping*/
#defineGPIO_AF_TRACE((uint8_t)0x00)/*TRACEAlternateFunctionmapping*/
/**
*@briefAF1selection
*/
#defineGPIO_AF_TIM1((uint8_t)0x01)/*TIM1AlternateFunctionmapping*/
#defineGPIO_AF_TIM2((uint8_t)0x01)/*TIM2AlternateFunctionmapping*/
/**
*@briefAF2selection
*/
#defineGPIO_AF_TIM3((uint8_t)0x02)/*TIM3AlternateFunctionmapping*/
#defineGPIO_AF_TIM4((uint8_t)0x02)/*TIM4AlternateFunctionmapping*/
#defineGPIO_AF_TIM5((uint8_t)0x02)/*TIM5AlternateFunctionmapping*/
/**
*@briefAF3selection
*/
#defineGPIO_AF_TIM8((uint8_t)0x03)/*TIM8AlternateFunctionmapping*/
#defineGPIO_AF_TIM9((uint8_t)0x03)/*TIM9AlternateFunctionmapping*/
#defineGPIO_AF_TIM10((uint8_t)0x03)/*TIM10AlternateFunctionmapping*/
#defineGPIO_AF_TIM11((uint8_t)0x03)/*TIM11AlternateFunctionmapping*/
/**
*@briefAF4selection
*/
#defineGPIO_AF_I2C1((uint8_t)0x04)/*I2C1AlternateFunctionmapping*/
#defineGPIO_AF_I2C2((uint8_t)0x04)/*I2C2AlternateFunctionmapping*/
#defineGPIO_AF_I2C3((uint8_t)0x04)/*I2C3AlternateFunctionmapping*/
/**
*@briefAF5selection
*/
#defineGPIO_AF_SPI1((uint8_t)0x05)/*SPI1AlternateFunctionmapping*/
#defineGPIO_AF_SPI2((uint8_t)0x05)/*SPI2/I2S2AlternateFunctionmapping*/
/**
*@briefAF6selection
*/
#defineGPIO_AF_SPI3((uint8_t)0x06)/*SPI3/I2S3AlternateFunctionmapping*/
/**
*@briefAF7selection
*/
#defineGPIO_AF_USART1((uint8_t)0x07)/*USART1AlternateFunctionmapping*/
#defineGPIO_AF_USART2((uint8_t)0x07)/*USART2AlternateFunctionmapping*/
#defineGPIO_AF_USART3((uint8_t)0x07)/*USART3AlternateFunctionmapping*/
#defineGPIO_AF_I2S3ext((uint8_t)0x07)/*I2S3extAlternateFunctionmapping*/
/**
*@briefAF8selection
*/
#defineGPIO_AF_UART4((uint8_t)0x08)/*UART4AlternateFunctionmapping*/
#defineGPIO_AF_UART5((uint8_t)0x08)/*UART5AlternateFunctionmapping*/
#defineGPIO_AF_USART6((uint8_t)0x08)/*USART6AlternateFunctionmapping*/
/**
*@briefAF9selection
*/
#defineGPIO_AF_CAN1((uint8_t)0x09)/*CAN1AlternateFunctionmapping*/
#defineGPIO_AF_CAN2((uint8_t)0x09)/*CAN2AlternateFunctionmapping*/
#defineGPIO_AF_TIM12((uint8_t)0x09)/*TIM12AlternateFunctionmapping*/
#defineGPIO_AF_TIM13((uint8_t)0x09)/*TIM13AlternateFunctionmapping*/
#defineGPIO_AF_TIM14((uint8_t)0x09)/*TIM14AlternateFunctionmapping*/
/**
*@briefAF10selection
*/
#defineGPIO_AF_OTG_FS((uint8_t)0xA)/*OTG_FSAlternateFunctionmapping*/
#defineGPIO_AF_OTG_HS((uint8_t)0xA)/*OTG_HSAlternateFunctionmapping*/
/**
*@briefAF11selection
*/
#defineGPIO_AF_ETH((uint8_t)0x0B)/*ETHERNETAlternateFunctionmapping*/
/**
*@briefAF12selection
*/
#defineGPIO_AF_FSMC((uint8_t)0xC)/*FSMCAlternateFunctionmapping*/
#defineGPIO_AF_OTG_HS_FS((uint8_t)0xC)/*OTGHSconfiguredinFS,AlternateFunctionmapping*/
#defineGPIO_AF_SDIO((uint8_t)0xC)/*SDIOAlternateFunctionmapping*/
/**
*@briefAF13selection
*/
#defineGPIO_AF_DCMI((uint8_t)0x0