|
|
|
@ -6,10 +6,56 @@
|
|
|
|
|
#include "timer.h"
|
|
|
|
|
#include "i2c.h"
|
|
|
|
|
|
|
|
|
|
#include "hardwareDescription.h"
|
|
|
|
|
|
|
|
|
|
void setup();
|
|
|
|
|
|
|
|
|
|
void EXTI3_IRQHandler(void)
|
|
|
|
|
{
|
|
|
|
|
if((EXTI->PR1 & EXTI_PR1_PIF4) != 0) {
|
|
|
|
|
|
|
|
|
|
pinToggle(pinB3);
|
|
|
|
|
|
|
|
|
|
// clear flag
|
|
|
|
|
EXTI->PR1 |= EXTI_PR1_PIF4;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main(int argc, char *argv[])
|
|
|
|
|
{
|
|
|
|
|
setup();
|
|
|
|
|
|
|
|
|
|
pinConfig(pinB4, input, def_stage, pullUp, def_speed);
|
|
|
|
|
// enable interrupt
|
|
|
|
|
NVIC_EnableIRQ(EXTI4_IRQn);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Connect
|
|
|
|
|
RCC->APB2ENR |= RCC_APB2ENR_SYSCFGEN;
|
|
|
|
|
SYSCFG->EXTICR[0] &= ~SYSCFG_EXTICR1_EXTI4;
|
|
|
|
|
SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI4_PA;
|
|
|
|
|
|
|
|
|
|
// rising trigger selection
|
|
|
|
|
EXTI->RTSR1 |= EXTI_RTSR1_RT4;
|
|
|
|
|
|
|
|
|
|
// Interrupt mask register
|
|
|
|
|
EXTI->IMR1 |= EXTI_IMR1_IM4;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while(1);
|
|
|
|
|
/*
|
|
|
|
|
while(1)
|
|
|
|
|
{
|
|
|
|
|
delayMs(100);
|
|
|
|
|
pinToggle(pinB3);
|
|
|
|
|
delayMs(100);
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void setup()
|
|
|
|
|
{
|
|
|
|
|
uint8_t i = 0;
|
|
|
|
|
|
|
|
|
|
delayInitMs(8000000, 1000); // Clock Freq and Divider for ARM library
|
|
|
|
@ -40,15 +86,6 @@ int main(int argc, char *argv[])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
pinWrite(pinB3,0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
while(1)
|
|
|
|
|
{
|
|
|
|
|
delayMs(100);
|
|
|
|
|
pinToggle(pinB3);
|
|
|
|
|
delayMs(100);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|