XFusion API v1.3.0
载入中...
搜索中...
未找到
examples/system/sys/main/xf_main.c

系统级 API 示例。

/* ==================== [Includes] ========================================== */
#include "xf_sys.h"
/* ==================== [Defines] =========================================== */
#define TAG "main"
#define EXAMPLE_DELAY_LOOP_COUNT 20
/* ==================== [Typedefs] ========================================== */
/* ==================== [Static Prototypes] ================================= */
/* ==================== [Static Variables] ================================== */
/* ==================== [Macros] ============================================ */
/* ==================== [Global Functions] ================================== */
void xf_main(void)
{
xf_ms_t ms_before = xf_sys_time_get_ms();
xf_delay_ms(1000);
xf_us_t us_before = xf_sys_time_get_us();
XF_LOGI(TAG, "tick:ms_before:%llu\tms_after:%llu\tms_diff:%llu",
ms_before, ms_after, ms_after - ms_before);
XF_LOGI(TAG, "tick:us_before:%llu\tus_after:%llu\tus_diff:%llu",
us_before, us_after, us_after - us_before);
/* 确保开启了 watchdog */
XF_LOGI(TAG, "Will reboot in %d seconds.", EXAMPLE_DELAY_LOOP_COUNT);
for (int i = EXAMPLE_DELAY_LOOP_COUNT; i > 0; --i) {
XF_LOGI(TAG, "count: %d", i);
/*
测试 kick 看门狗是否有作用,
如果有作用,应当在 EXAMPLE_DELAY_LOOP_COUNT s 后
输出 `reboot!` 消息并重启。
*/
xf_delay_ms(1000);
}
XF_LOGI(TAG, "reboot!");
}
/* ==================== [Static Functions] ================================== */
void xf_main(void)
Definition xf_main.c:28
xf_us_t xf_sys_time_get_us(void)
获取系统时间的时间戳,单位微秒(us)
xf_ms_t xf_sys_time_get_ms(void)
获取系统时间的时间戳,单位毫秒(ms)
Definition xf_sys_time.c:96
xf_err_t xf_delay_ms(xf_ms_t n_ms)
毫秒级延时
Definition xf_sys_time.c:40
xf_err_t xf_delay_us(xf_us_t n_us)
微秒级延时
Definition xf_sys_time.c:57
__weak xf_err_t xf_sys_watchdog_enable(void)
开启看门狗
__weak xf_err_t xf_sys_watchdog_kick(void)
喂狗,防止看门狗超时叫
__weak void xf_sys_reboot(void)
软件系统重启
Definition xf_sys.c:30
#define TAG
Definition xf_main.c:24
#define EXAMPLE_DELAY_LOOP_COUNT
Definition xf_main.c:24
#define XF_LOGI(tag, format,...)
XF_US_TYPE xf_us_t
XF_MS_TYPE xf_ms_t