コード例 #1
0
ファイル: wdt_qmsi.c プロジェクト: 32bitmicro/zephyr
static int set_config(struct device *dev, struct wdt_config *cfg)
{
	qm_wdt_config_t qm_cfg;

	user_cb = cfg->interrupt_fn;

	qm_cfg.timeout = cfg->timeout;
	qm_cfg.mode = (cfg->mode == WDT_MODE_RESET) ?
			QM_WDT_MODE_RESET : QM_WDT_MODE_INTERRUPT_RESET;
	qm_cfg.callback = interrupt_callback;

	qm_wdt_set_config(QM_WDT_0, &qm_cfg);
	qm_wdt_start(QM_WDT_0);

	return 0;
}
コード例 #2
0
ファイル: main.c プロジェクト: Hlotfy/qmsi
/* QMSI wdt app example */
int main(void)
{
	qm_wdt_config_t wr_cfg;

	QM_PRINTF("Starting: WDT\n");

	wr_cfg.timeout = QM_WDT_2_POW_17_CYCLES;
	wr_cfg.mode = QM_WDT_MODE_INTERRUPT_RESET;
	wr_cfg.callback = wdt_example_callback;

	wdt_fired = 0;

	qm_wdt_set_config(QM_WDT_0, &wr_cfg);
	qm_irq_request(QM_IRQ_WDT_0, qm_wdt_isr_0);

	qm_wdt_start(QM_WDT_0);

	/* Wait for WDT to fire 10 times and then finish. */
	while (wdt_fired < MAX_WDT_FIRINGS) {
	}
	QM_PRINTF("Watchdog fired %d times\n", MAX_WDT_FIRINGS);
	QM_PRINTF("Finished: WDT\n");
	return 0;
}