xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
SPI 外设示例

平台 目标 板子
lm620 r4f4 e837n_v01

演示 SPI 主机模式的初始化和非阻塞收发,通过环回方式验证数据正确性。

预期行为

**SPI 初始化**:

  • 配置 SPI 引脚复用(MOSI、MISO、SCLK、CS),若 CS 引脚有效则一并配置
  • 以 8 MHz 速度、CPOL=0 CPHA=0、MSB 优先、8 位数据模式初始化 SPI 主机
  • 注册传输完成回调

**环回测试**:

  • 填充发送 buffer 为 0 到 127 的递增序列
  • 循环执行非阻塞收发( xt_hal_spim_txrx_0copy ),等待 spi_cb 设置完成标志
  • 逐字节比对接收数据与预期值,全部匹配则输出 OK ,否则打印错误字节:
[00000000][example_task]: start
[00000100][example_task]: OK
[00000200][example_task]: OK

数据错误时的输出:

RX Wrong(curr:AB, expt:10)

编译和运行

cd examples/peripherals/spi
xt --target lm620/r4f4 --board e837n_v01 fullclean build

下载固件后运行,串口观察 SPI 环回测试日志。

注意事项

  • SPI 引脚依赖 xt_board(板级配置) 配置,不同板子需确认 XT_BRD_SPI_MOSI_PIN 等宏映射正确
  • 收发 buffer 必须 32 字节对齐( ALIGN(32) ),且大于 32 字节
  • 环回测试需要硬件上将 MOSI 和 MISO 短接,否则会持续输出 RX Wrong
  • CS 引脚无效时( XT_HAL_GPIO_INVALID_ID )不配置,由外部硬件管理片选