static void rtc_init(void) { // Initial a periodical timer gtimer_init(&sw_rtc, SW_RTC_TIMER_ID); // Tick every 1 sec gtimer_start_periodical(&sw_rtc, 1000000, (void*)sw_rtc_tick_handler, (uint32_t)&sw_rtc); }
void IRSendRev::Init(int revPin) { gpio_irq_init((gpio_irq_t *)pGpioIrqRecv, (PinName)(g_APinDescription[revPin].pinname), (gpio_irq_handler)gpio_ir_recv_handler, (uint32_t)this); gpio_irq_set((gpio_irq_t *)pGpioIrqRecv, (gpio_irq_event)IRQ_LOW, 1); gpio_irq_enable((gpio_irq_t *)pGpioIrqRecv); gtimer_init((gtimer_t *)pTimerRecv, TIMER4); gtimer_start_one_shout((gtimer_t *)pTimerRecv, GAP, (void *)ir_recv_timer_handler, (uint32_t)this); gtimer_stop((gtimer_t *)pTimerRecv); Clear(); }