XFusion API
v1.3.0
载入中...
搜索中...
未找到
xf_main.c
浏览该文件的文档.
1
17
/* ==================== [Includes] ========================================== */
18
19
#include "xf_hal.h"
20
#include <string.h>
21
22
/* ==================== [Defines] =========================================== */
23
24
#define TAG "spi_self"
25
26
/* ==================== [Typedefs] ========================================== */
27
28
/* ==================== [Static Prototypes] ================================= */
29
30
static
void
spi_echo
(
void
);
31
32
/* ==================== [Static Variables] ================================== */
33
34
/* ==================== [Macros] ============================================ */
35
36
/* ==================== [Global Functions] ================================== */
37
38
void
xf_main
(
void
)
39
{
40
xf_hal_spi_gpio_t
master_gpio = {
41
.
mosi_num
= 12,
42
.miso_num = 13,
43
.sclk_num = 16,
44
.cs_num = 14
45
};
46
47
xf_hal_spi_gpio_t
slave_gpio = {
48
.
mosi_num
= 4,
49
.miso_num = 5,
50
.sclk_num = 18,
51
.cs_num = 23
52
};
53
54
xf_hal_spi_init
(1,
XF_HAL_SPI_HOSTS_MASTER
, 5000000);
55
xf_hal_spi_set_gpio
(1, &master_gpio);
56
xf_hal_spi_set_mode
(1, 0);
57
xf_hal_spi_enable
(1);
58
59
xf_hal_spi_init
(2,
XF_HAL_SPI_HOSTS_SLAVE
, 5000000);
60
xf_hal_spi_set_gpio
(2, &slave_gpio);
61
xf_hal_spi_set_mode
(2, 0);
62
xf_hal_spi_enable
(2);
63
64
spi_echo
();
65
}
66
67
/* ==================== [Static Functions] ================================== */
68
69
static
void
spi_echo
(
void
)
70
{
71
uint8_t msg[] =
"hello"
;
72
static
uint8_t recv[
sizeof
(msg)] = {0};
73
xf_hal_spi_write
(2, msg,
sizeof
(msg), 10);
74
xf_hal_spi_read
(1, recv,
sizeof
(recv), 10);
75
XF_LOGI
(
TAG
,
"recv:%s"
, recv);
76
}
xf_main
void xf_main(void)
Definition
xf_main.c:28
xf_hal_spi_enable
xf_err_t xf_hal_spi_enable(xf_spi_num_t spi_num)
spi 启用函数。
Definition
xf_hal_spi.c:92
xf_hal_spi_set_mode
xf_err_t xf_hal_spi_set_mode(xf_spi_num_t spi_num, xf_hal_spi_mode_t mode)
设置 spi 模式。
Definition
xf_hal_spi.c:244
xf_hal_spi_write
int xf_hal_spi_write(xf_spi_num_t spi_num, const uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
spi 写入数据函数。
Definition
xf_hal_spi.c:319
xf_hal_spi_set_gpio
xf_err_t xf_hal_spi_set_gpio(xf_spi_num_t spi_num, const xf_hal_spi_gpio_t *spi_gpio)
设置 spi 的输出 io。
Definition
xf_hal_spi.c:194
xf_hal_spi_read
int xf_hal_spi_read(xf_spi_num_t spi_num, uint8_t *buffer, uint32_t size, uint32_t timeout_ms)
spi 读取数据函数。
Definition
xf_hal_spi.c:350
xf_hal_spi_init
xf_err_t xf_hal_spi_init(xf_spi_num_t spi_num, xf_hal_spi_hosts_t hosts, uint32_t speed)
spi 初始化函数。
Definition
xf_hal_spi.c:50
XF_HAL_SPI_HOSTS_SLAVE
@ XF_HAL_SPI_HOSTS_SLAVE
Definition
xf_hal_spi.h:70
XF_HAL_SPI_HOSTS_MASTER
@ XF_HAL_SPI_HOSTS_MASTER
Definition
xf_hal_spi.h:69
TAG
#define TAG
Definition
xf_main.c:24
spi_echo
static void spi_echo(void)
Definition
xf_main.c:69
_xf_hal_spi_gpio_t
spi 的引脚设置。
Definition
xf_hal_spi.h:143
_xf_hal_spi_gpio_t::mosi_num
xf_gpio_num_t mosi_num
Definition
xf_hal_spi.h:148
XF_LOGI
#define XF_LOGI(tag, format,...)
Definition
xf_log_uitls.h:44
examples
peripherals
spi
spi_self
main
xf_main.c
生成于 2025年 一月 21日 星期二 17:25:09 , 为 XFusion API使用
1.9.8