RT-Thread: STM32 SPI使用流程

1.添加驱动

①点开设置界面

②勾选看门 SPI 驱动

③点击保存

④查看添加的驱动文件 drv_spi.c

2.打开驱动头文件定义

①打开配置文件

②打开定义

3.打开需要开启的SPI总线

打开 drivers 目录下的 board.h 用SPI搜索,找到如下文字,打开对应的宏。

cpp 复制代码
/*-------------------------- SPI CONFIG BEGIN --------------------------*/

/** if you want to use spi bus you can use the following instructions.
 *
 * STEP 1, open spi driver framework support in the RT-Thread Settings file
 *
 * STEP 2, define macro related to the spi bus
 *                 such as     #define BSP_USING_SPI1
 *
 * STEP 3, copy your spi init function from stm32xxxx_hal_msp.c generated by stm32cubemx to the end of board.c file
 *                 such as     void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
 *
 * STEP 4, modify your stm32xxxx_hal_config.h file to support spi peripherals. define macro related to the peripherals
 *                 such as     #define HAL_SPI_MODULE_ENABLED
 */

/*#define BSP_USING_SPI1*/
#define BSP_USING_SPI2
/*#define BSP_USING_SPI3*/

4.查看设备

添加好后,把程序编译,并下载到mcu,在系统启动到输出 mch 时,通过串口发送命令 list_device,系统会回复 设备清单,如下图 sp1,sp2就是新增的设备。

5.打开STM32CubeMX配置初始化代码

①在时钟已经配好的情况下进行如下操作

②根据硬件接口选择SPI对应的管脚

③配置SPI

输出项目设置

代码生成器 设置

生成代码.

打开文件夹找到代码生成目录:

需要的代码在如下②,③文件,也有可能因为选择项的不同生成的文件是独立 spi.c

6.把生成的驱动添加到工程

相关推荐
恒锐丰小吕12 分钟前
矽塔 SA8883 6.0-45.0V 8A有刷直流电机驱动芯片技术解析
嵌入式硬件·硬件工程
MARIN_shen1 小时前
PCB之电源完整性之电源网络的PDN仿真CST---08
网络·单片机·硬件工程·pcb工艺
小龙报2 小时前
《VScode搭建教程(附安装包)--- 开启你的编程之旅》
c语言·c++·ide·vscode·单片机·物联网·编辑器
FanXing_zl2 小时前
基于整数MCU的FOC电机控制深度解析:从浮点到定点的工程实践
单片机·嵌入式硬件·mcu·软件开发·定点计算
DIY机器人工房3 小时前
科普:华为星闪是什么?华为星闪(英文名 NearLink)是国际星闪无线短距通信联盟发布的新型无线短距通信标准技术。
stm32·嵌入式硬件·华为·嵌入式·diy机器人工房·嵌入式面试题
hazy1k4 小时前
ESP32基础-PWM_直流电机
stm32·单片机·嵌入式硬件·51单片机·proteus·esp32
一支闲人4 小时前
CAN总线协议:位同步
stm32·单片机·基础知识·can总线协议
XINVRY-FPGA10 小时前
XC95288XL-10TQG144I Xilinx AMD CPLD
arm开发·单片机·嵌入式硬件·mcu·fpga开发·硬件工程·fpga
lingzhilab12 小时前
零知IDE——基于STM32F103RBT6和SHT40温湿度传感器的环境监测系统
stm32·单片机·嵌入式硬件
0南城逆流012 小时前
【STM32】知识点介绍四:时钟体系
stm32·单片机·嵌入式硬件