#include "board.h" uint32_t BtnKeyHistory; void ButtonInit(void) { BtnKeyHistory = 0; // PD04 : TOUCH_KEY rising edge trigger // GpioInit(PD04_AF0, GPIO_DIG_IN_NONEUP_NONEDOWN); // GpioEventInit(PD04_AF0, GPIO_EVENT_RISE); // enable interrupt at NVIC side(already enabled in tdc_ms1030.c or tdc_gp22.c) // IRQMutEnable(PORTD_F_IRQn, NVIC_PRIO_1); /////////////////WXL2026-5-20/////////////////////////////////// GpioInit(PD04_AF0, GPIO_DIG_IN_NONEUP_NONEDOWN); GpioEventInit(PD04_AF0, GPIO_EVENT_RISE); // enable interrupt at NVIC side //IRQMutEnable(PORTD_F_IRQn, NVIC_PRIO_1); /////////////////////////////////////////////////// } uint32_t ButtonGetEvents(void) { uint32_t btnkey; btnkey = BtnKeyHistory; BtnKeyHistory = 0; // // get falling edge events for keys // btnkey = GpioGetEvents(GpioPortF, GpioBitMsk4); return (btnkey); } //// interrupt routine(as specified in tof_isr.c) // void PORTD_F_IRQHandler(void) //{ // uint32_t ISR; // // ISR = EXTI->PIR; // EXTI->PIR = ISR & (EXTI_PIR_PIF15_MASK | // EXTI_PIR_PIF14_MASK | // EXTI_PIR_PIF13_MASK | // EXTI_PIR_PIF12_MASK | // EXTI_PIR_PIF11_MASK | // EXTI_PIR_PIF10_MASK | // EXTI_PIR_PIF9_MASK | // EXTI_PIR_PIF8_MASK | // EXTI_PIR_PIF7_MASK | // EXTI_PIR_PIF6_MASK | // EXTI_PIR_PIF5_MASK | // EXTI_PIR_PIF4_MASK // ); // // if (ISR & EXTI_PIR_PIF13_MASK){ // BtnKeyHistory |= BTNKEY_TOUCH_RISE; // } // }