XFusion API
v1.3.0
载入中...
搜索中...
未找到
examples/peripherals/timer/timer_base/main/xf_main.c
xf_hal timer 基础示例。
1
17
/* ==================== [Includes] ========================================== */
18
19
#include "xf_hal.h"
20
21
/* ==================== [Defines] =========================================== */
22
23
#define TIM0_NUM 0
24
#define TIM0_FREQ 1000*1000
25
#define TIM0_AUTO_RELOAD false
26
#define TIM0_TARGET_TICKS 500*1000
27
28
#define TIM1_NUM 1
29
#define TIM1_FREQ 1000*1000
30
#define TIM1_AUTO_RELOAD true
31
#define TIM1_TARGET_TICKS 500*1000
32
33
#define TAG "timer_base"
34
35
/* ==================== [Typedefs] ========================================== */
36
37
/* ==================== [Static Prototypes] ================================= */
38
39
static
void
time0_callback
(
xf_tim_num_t
tim_num, uint32_t ticks,
40
void
*user_data);
41
static
void
time1_callback
(
xf_tim_num_t
tim_num, uint32_t ticks,
42
void
*user_data);
43
44
/* ==================== [Static Variables] ================================== */
45
46
/* ==================== [Macros] ============================================ */
47
48
/* ==================== [Global Functions] ================================== */
49
50
void
xf_main
(
void
)
51
{
52
xf_hal_tim_init
(
TIM0_NUM
,
TIM0_FREQ
,
XF_HAL_TIM_COUNT_DIR_UP
,
TIM0_AUTO_RELOAD
);
53
xf_hal_tim_set_cb
(
TIM0_NUM
,
time0_callback
, NULL);
54
xf_hal_tim_start
(
TIM0_NUM
,
TIM0_TARGET_TICKS
);
55
56
xf_hal_tim_init
(
TIM1_NUM
,
TIM1_FREQ
,
XF_HAL_TIM_COUNT_DIR_UP
,
TIM1_AUTO_RELOAD
);
57
xf_hal_tim_set_cb
(
TIM1_NUM
,
time1_callback
, NULL);
58
xf_hal_tim_start
(
TIM1_NUM
,
TIM1_TARGET_TICKS
);
59
}
60
61
/* ==================== [Static Functions] ================================== */
62
63
static
void
time0_callback
(
xf_tim_num_t
tim_num, uint32_t ticks,
64
void
*user_data)
65
{
66
XF_LOGI
(
TAG
,
"ticks:%ld, user_data:%p"
, ticks, user_data);
67
xf_hal_tim_start
(tim_num, ticks + 500 * 1000);
68
}
69
70
static
void
time1_callback
(
xf_tim_num_t
tim_num, uint32_t ticks,
71
void
*user_data)
72
{
73
UNUSED
(tim_num);
74
XF_LOGI
(
TAG
,
"ticks:%ld, user_data:%p"
, ticks, user_data);
75
}
xf_main
void xf_main(void)
Definition
xf_main.c:28
xf_hal_tim_set_cb
xf_err_t xf_hal_tim_set_cb(xf_tim_num_t tim_num, xf_hal_tim_cb_t callback, void *user_data)
定时器设置中断回调函数。
Definition
xf_hal_tim.c:96
xf_hal_tim_start
xf_err_t xf_hal_tim_start(xf_tim_num_t tim_num, uint32_t target_ticks)
定时器开始执行。
Definition
xf_hal_tim.c:148
xf_hal_tim_init
xf_err_t xf_hal_tim_init(xf_tim_num_t tim_num, uint32_t tick_freq_hz, xf_hal_tim_count_dir_t count_dir, bool auto_reload)
定时器初始化函数。
Definition
xf_hal_tim.c:51
xf_tim_num_t
uint32_t xf_tim_num_t
tim 序号。
Definition
xf_hal_tim.h:41
XF_HAL_TIM_COUNT_DIR_UP
@ XF_HAL_TIM_COUNT_DIR_UP
Definition
xf_hal_tim.h:79
TAG
#define TAG
Definition
xf_main.c:24
TIM0_TARGET_TICKS
#define TIM0_TARGET_TICKS
Definition
xf_main.c:29
TIM0_FREQ
#define TIM0_FREQ
Definition
xf_main.c:27
time0_callback
static void time0_callback(xf_tim_num_t tim_num, uint32_t ticks, void *user_data)
Definition
xf_main.c:96
TIM0_AUTO_RELOAD
#define TIM0_AUTO_RELOAD
Definition
xf_main.c:28
TIM0_NUM
#define TIM0_NUM
Definition
xf_main.c:26
TIM1_AUTO_RELOAD
#define TIM1_AUTO_RELOAD
Definition
xf_main.c:30
TIM1_FREQ
#define TIM1_FREQ
Definition
xf_main.c:29
TIM1_TARGET_TICKS
#define TIM1_TARGET_TICKS
Definition
xf_main.c:31
TIM1_NUM
#define TIM1_NUM
Definition
xf_main.c:28
time1_callback
static void time1_callback(xf_tim_num_t tim_num, uint32_t ticks, void *user_data)
Definition
xf_main.c:70
XF_LOGI
#define XF_LOGI(tag, format,...)
Definition
xf_log_uitls.h:44
UNUSED
#define UNUSED(_x)
Definition
xf_template_source_detail.c:333
生成于 2025年 一月 21日 星期二 17:25:08 , 为 XFusion API使用
1.9.8