XFusion API v1.3.0
载入中...
搜索中...
未找到
examples/peripherals/spi/spi_self/main/xf_main.c

xf_hal spi 自测示例。

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
30static void spi_echo(void);
31
32/* ==================== [Static Variables] ================================== */
33
34/* ==================== [Macros] ============================================ */
35
36/* ==================== [Global Functions] ================================== */
37
38void 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
55 xf_hal_spi_set_gpio(1, &master_gpio);
58
60 xf_hal_spi_set_gpio(2, &slave_gpio);
63
64 spi_echo();
65}
66
67/* ==================== [Static Functions] ================================== */
68
69static 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}
void xf_main(void)
Definition xf_main.c:28
xf_err_t xf_hal_spi_enable(xf_spi_num_t spi_num)
spi 启用函数。
Definition xf_hal_spi.c:92
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
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_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
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_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
Definition xf_hal_spi.h:70
@ XF_HAL_SPI_HOSTS_MASTER
Definition xf_hal_spi.h:69
#define TAG
Definition xf_main.c:24
static void spi_echo(void)
Definition xf_main.c:69
spi 的引脚设置。
Definition xf_hal_spi.h:143
xf_gpio_num_t mosi_num
Definition xf_hal_spi.h:148
#define XF_LOGI(tag, format,...)