/** * @brief Main program * @param None * @retval None */ int main(void) { /*!< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup files (startup_stm32f429_439xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f4xx.c file */ RCC_ClocksTypeDef RCC_Clocks; /* SysTick end of count event each 1ms */ RCC_GetClocksFreq(&RCC_Clocks); SysTick_Config(RCC_Clocks.HCLK_Frequency / 1000); /* Initialize LEDs mounted on EVAL board */ STM_EVAL_LEDInit(LED3); STM_EVAL_LEDInit(LED4); /* Put LED3 on */ STM_EVAL_LEDOn(LED3); /* Configure EXTI Line0 (connected to PA0 pin) in interrupt mode */ EXTILine0_Config(); /* Configure EXTI Line13 (connected to PC13 pin) in interrupt mode */ EXTILine13_Config(); while (1) { /* Generate software interrupt: simulate a falling edge applied on EXTI0 line */ EXTI_GenerateSWInterrupt(EXTI_Line13); Delay(500); } }
int main(void) { GPIO_InitTypeDef GPIO_InitDef; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG, ENABLE); GPIO_InitDef.GPIO_Pin = GPIO_Pin_All; GPIO_InitDef.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitDef.GPIO_OType = GPIO_OType_PP; GPIO_InitDef.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitDef.GPIO_Speed = GPIO_Speed_2MHz; //Initialize pins GPIO_Init(GPIOG, &GPIO_InitDef); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); GPIO_InitDef.GPIO_Pin = GPIO_Pin_All; GPIO_InitDef.GPIO_Mode = GPIO_Mode_IN; GPIO_InitDef.GPIO_OType = GPIO_OType_PP; GPIO_InitDef.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_InitDef.GPIO_Speed = GPIO_Speed_2MHz; //Initialize pins GPIO_Init(GPIOA, &GPIO_InitDef); GPIO_SetBits(GPIOA, GPIO_Pin_All); EXTILine11_Config(); EXTILine12_Config(); EXTILine13_Config(); EXTILine14_Config(); while (1) { /*if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_0)) { GPIO_SetBits(GPIOG, GPIO_Pin_13 | GPIO_Pin_14); } else if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_1)) { GPIO_SetBits(GPIOG, GPIO_Pin_13); GPIO_ResetBits(GPIOG, GPIO_Pin_14); } else if (GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_2)) { GPIO_SetBits(GPIOG, GPIO_Pin_14); GPIO_ResetBits(GPIOG, GPIO_Pin_13); }*/ // else { // GPIO_ResetBits(GPIOG, GPIO_Pin_13 | GPIO_Pin_14); // } } }