You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.1 KiB
69 lines
1.1 KiB
#include "delay.h"
|
|
#include "pin.h"
|
|
#include "deviceSetup.h"
|
|
#include "interrupt.h"
|
|
#include "timer.h"
|
|
|
|
|
|
void blinkiTask()
|
|
{
|
|
//pinToggle(pinB3);
|
|
}
|
|
|
|
|
|
void EXTI4_15_IRQHandler(void)
|
|
{
|
|
if(EXTI->PR & EXTI_PR_PR4)
|
|
{
|
|
EXTI->PR |= EXTI_PR_PR4;
|
|
pinToggle(pinB3);
|
|
}
|
|
}
|
|
|
|
|
|
void pinB4IntSetup()
|
|
{
|
|
SYSCFG->EXTICR[1] |= SYSCFG_EXTICR2_EXTI4_PB;
|
|
EXTI->FTSR |= EXTI_FTSR_TR4;
|
|
EXTI->RTSR |= EXTI_FTSR_TR4;
|
|
EXTI->IMR |= EXTI_IMR_IM4;
|
|
NVIC_EnableIRQ(EXTI4_15_IRQn);
|
|
NVIC_SetPriority(EXTI4_15_IRQn,1);
|
|
}
|
|
|
|
void declareInterrupts()
|
|
{
|
|
/*
|
|
timerInitCounter(timer_2,(8E6/40E3)-1, 5000-1, upCounting);
|
|
timerEnableInterrupt(timer_2,TIM2_UPDATE);
|
|
timerStart(timer_2);
|
|
|
|
intInit(TIM2_UPDATE, blinkiTask, 1);
|
|
intEnable(TIM2_UPDATE);
|
|
*/
|
|
|
|
intDisableGlobal();
|
|
|
|
pinB4IntSetup();
|
|
|
|
intEnableGlobal();
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
uint8_t i = 0;
|
|
|
|
pinConfig(pinA0, input, def_stage, pullDown, def_speed);
|
|
pinConfig(pinB3, output, pushPull, def_res, def_speed);
|
|
|
|
pinWrite(pinB3, 0);
|
|
|
|
pinConfig(pinB4, input, floating, none, def_speed);
|
|
|
|
declareInterrupts();
|
|
|
|
while(1);
|
|
return 1;
|
|
}
|
|
|