/**
******************************************************************************
* @file main.c
* @author Ac6
* @version V1.0
* @date 01-December-2013
* @brief Default main function.
******************************************************************************
*/
#include "stm32f4xx.h"
volatile uint32_t timer_ms = 0;
void SysTick_Handler()
{
if (timer_ms) {
timer_ms--;
}
}
void delay(int time)
{
timer_ms = time;
while (timer_ms) {};
}
void EXTI15_10_IRQHandler()
{
if(EXTI_GetITStatus(EXTI_Line13))
{
if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == 0)
{
GPIO_ToggleBits(GPIOA, GPIO_Pin_5);
EXTI_ClearFlag(EXTI_Line13);
EXTI_ClearITPendingBit(EXTI_Line13);
}
else
GPIO_ResetBits(GPIOA, GPIO_Pin_5);
}
}
int main(void)
{
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitTypeDef GPIO_A;
GPIO_StructInit(&GPIO_A);
GPIO_A.GPIO_Pin = GPIO_Pin_5;
GPIO_A.GPIO_Mode = GPIO_Mode_OUT;
GPIO_A.GPIO_OType = GPIO_OType_PP;
GPIO_Init(GPIOA, &GPIO_A);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
GPIO_InitTypeDef GPIO_C;
GPIO_StructInit(&GPIO_C);
GPIO_C.GPIO_Pin = GPIO_Pin_13;
GPIO_C.GPIO_Mode = GPIO_Mode_IN;
GPIO_C.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOC, &GPIO_C);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);
EXTI_InitTypeDef exti;
EXTI_StructInit(&exti);
exti.EXTI_Line = EXTI_Line13;
exti.EXTI_Mode = EXTI_Mode_Interrupt;
exti.EXTI_Trigger = EXTI_Trigger_Falling;
exti.EXTI_LineCmd = ENABLE;
EXTI_Init(&exti);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOC, EXTI_PinSource13);
NVIC_InitTypeDef nvic;
nvic.NVIC_IRQChannel = EXTI15_10_IRQn;
nvic.NVIC_IRQChannelPreemptionPriority = 0x00;
nvic.NVIC_IRQChannelSubPriority = 0x00;
nvic.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&nvic);
SysTick_Config(SystemCoreClock / 1000);
while(1)
{}
}
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}