XFusion API
v1.3.0
载入中...
搜索中...
未找到
xf_main.c
浏览该文件的文档.
1
17
/* ==================== [Includes] ========================================== */
18
19
#include "xf_hal.h"
20
#include "xf_task.h"
21
22
/* ==================== [Defines] =========================================== */
23
24
#define UART_NUM 1
25
#define UART_BAUDRATE 115200
26
27
#define UART_TX_NUM 15
28
#define UART_RX_NUM 16
29
30
#define TASK_PRIORITY 5
31
#define TASK_DELAY_MS 2000
32
33
#define RX_SIZE_DEFAULT (64)
34
35
#define TAG "example_uart"
36
37
/* ==================== [Typedefs] ========================================== */
38
39
/* ==================== [Static Prototypes] ================================= */
40
41
static
void
uart_rx_task
(
xf_task_t
task
);
42
static
void
uart_tx_task
(
xf_task_t
task
);
43
44
/* ==================== [Static Variables] ================================== */
45
46
/* ==================== [Macros] ============================================ */
47
48
/* ==================== [Global Functions] ================================== */
49
50
void
xf_main
(
void
)
51
{
52
xf_hal_uart_init
(
UART_NUM
,
UART_BAUDRATE
);
53
xf_hal_uart_set_gpio
(
UART_NUM
,
UART_TX_NUM
,
UART_RX_NUM
);
54
xf_hal_uart_enable
(
UART_NUM
);
55
xf_ttask_create_loop
(
uart_tx_task
, NULL,
TASK_PRIORITY
,
TASK_DELAY_MS
);
56
xf_ttask_create_loop
(
uart_rx_task
, NULL,
TASK_PRIORITY
,
TASK_DELAY_MS
);
57
}
58
59
/* ==================== [Static Functions] ================================== */
60
61
static
void
uart_rx_task
(
xf_task_t
task
)
62
{
63
UNUSED
(
task
);
64
uint8_t data[
RX_SIZE_DEFAULT
] = {0};
65
int
len =
xf_hal_uart_read
(
UART_NUM
, data,
RX_SIZE_DEFAULT
);
66
if
(len > 0) {
67
XF_LOGI
(
TAG
,
">>READ:size:%d,%s"
, len, data);
68
}
else
{
69
XF_LOGI
(
TAG
,
">>READ:NONE"
);
70
}
71
}
72
73
static
void
uart_tx_task
(
xf_task_t
task
)
74
{
75
UNUSED
(
task
);
76
uint8_t data[] =
"I M UART TX Task"
;
77
int
len =
xf_hal_uart_write
(
UART_NUM
, (
const
uint8_t *) data,
sizeof
(data));
78
if
(len > 0) {
79
XF_LOGI
(
TAG
,
">>WRITE:size:%d"
, len);
80
}
else
{
81
XF_LOGI
(
TAG
,
">>WRITE:NONE"
);
82
}
83
}
xf_main
void xf_main(void)
Definition
xf_main.c:28
xf_hal_uart_init
xf_err_t xf_hal_uart_init(xf_uart_num_t uart_num, uint32_t baudrate)
uart 初始化。
Definition
xf_hal_uart.c:50
xf_hal_uart_read
int xf_hal_uart_read(xf_uart_num_t uart_num, uint8_t *data, uint32_t data_len)
uart 读取函数。
Definition
xf_hal_uart.c:270
xf_hal_uart_write
int xf_hal_uart_write(xf_uart_num_t uart_num, const uint8_t *data, uint32_t data_len)
uart 写入函数。
Definition
xf_hal_uart.c:285
xf_hal_uart_set_gpio
xf_err_t xf_hal_uart_set_gpio(xf_uart_num_t uart_num, xf_gpio_num_t tx_num, xf_gpio_num_t rx_num)
uart 设置 uart 的通讯 io。
Definition
xf_hal_uart.c:141
xf_hal_uart_enable
xf_err_t xf_hal_uart_enable(xf_uart_num_t uart_num)
uart 启用函数。
Definition
xf_hal_uart.c:91
xf_ttask_create_loop
static xf_task_t xf_ttask_create_loop(xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms)
在默认的任务管理下,创建 ttask 循环任务。
Definition
xf_task.h:162
TAG
#define TAG
Definition
xf_main.c:24
TASK_DELAY_MS
#define TASK_DELAY_MS
Definition
xf_main.c:27
TASK_PRIORITY
#define TASK_PRIORITY
Definition
xf_main.c:26
UART_BAUDRATE
#define UART_BAUDRATE
Definition
xf_main.c:25
UART_RX_NUM
#define UART_RX_NUM
Definition
xf_main.c:27
UART_NUM
#define UART_NUM
Definition
xf_main.c:24
UART_TX_NUM
#define UART_TX_NUM
Definition
xf_main.c:26
RX_SIZE_DEFAULT
#define RX_SIZE_DEFAULT
Definition
xf_main.c:33
uart_tx_task
static void uart_tx_task(xf_task_t task)
Definition
xf_main.c:73
uart_rx_task
static void uart_rx_task(xf_task_t task)
Definition
xf_main.c:61
task
static void task(xf_task_t task)
Definition
xf_main.c:45
XF_LOGI
#define XF_LOGI(tag, format,...)
Definition
xf_log_uitls.h:44
xf_task_t
void * xf_task_t
任务句柄。
Definition
xf_task_manager.h:40
UNUSED
#define UNUSED(_x)
Definition
xf_template_source_detail.c:333
examples
peripherals
uart
uart_rx_tx_task
main
xf_main.c
生成于 2025年 一月 21日 星期二 17:25:09 , 为 XFusion API使用
1.9.8