RT-Thread: STM32 SPI使用流程

1.添加驱动

①点开设置界面
②勾选看门 SPI 驱动
③点击保存
④查看添加的驱动文件 drv_spi.c

2.打开驱动头文件定义

①打开配置文件
②打开定义

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

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

/*-------------------------- 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.把生成的驱动添加到工程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

巴厘行记(四)——乌布漫游

欢迎览阅《巴厘行记》系列文章 巴厘行记巴厘行记(一)——海神庙 巴厘行记(二)——乌布之夜 巴厘行记(三)——Auntie和Mudi 巴厘行记(四)——乌布漫游 巴厘行记(五&a…

Pytest单元测试框架

第一章、pytest概述 Pytest is a framework that makes building simple and scalable tests easy. Tests are expressive and readable—no boilerplate code required. Get started in minutes with a small unit test or complex functional test for your application or l…

深入理解与防范C语言中的栈溢出问题

一、引言 栈溢出是计算机安全领域中一个常见的漏洞,特别是在C语言编程中。由于C语言的灵活性和对内存管理的直接操作性,如果程序员在编写代码时不注意,就可能导致栈溢出的发生。本文将全面解析栈溢出的概念、原因、影响以及防范措施。 二、…

springboot+vue3支付宝接口案例-第二节-准备后端数据接口

springbootvue3支付宝接口案例-第二节-准备后端数据接口!今天经过2个小时的折腾。准备好了我们这次测试支付宝线上支付接口的后端业务数据接口。下面为大家分享一下,期间发生遇到了一些弯路。 首先,我们本次后端接口使用的持久层框架是JPA。这…

3d合并模型是重名材质---模大狮模型网

当合并3d模型时,如果存在重名的材质,可能会导致加载问题。这是因为3D软件在处理重名材质时可能会出现冲突。你可以尝试以下方法解决这个问题: 重命名材质:检查合并的模型中的材质,确保它们具有唯一的命名。修改重名的材…

Pyroch中transforms 图像增强发方法的应用

1 应用场景 在我们训练模型的时候,有的时候数据不够,就需要通过水平翻转、垂直翻转、镜像、旋转、改变亮度、标准化等方式增加图像的多样性,此时可以调用Pytorch 中的Transforms完成这些操作 2 导入相应的库 from torchvision import tran…

多场景建模:美团HiNet

HiNet: Novel Multi-Scenario & Multi-Task Learning with Hierarchical Information Extraction 背景: 美团的多场景多任务(ctr、ctcvr) 解决方案 通过分层来分别学习多场景多任务 方案详情 点评:在底层Embedding时用…

如何实现Win系统ssh连接Ubuntu使用vscode远程敲代码

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接…

opencv#35 连通域分析

连通域分割原理 像素领域介绍: 4邻域是指中心的像素与它邻近的上下左右一共有4个像素,那么称这4个像素为中心像素的4邻域。 8邻域是以中心像素周围的8个像素分别是上下左右和对角线上的4个像素。 连通域的定义(分割)分为两种:以4邻域为相邻判定条件的连通域分割和…

让AI帮你说话--GPT-SoVITS教程

有时候我们在录制视频的时候,由于周边环境嘈杂或者录音设备问题需要后期配音,这样就比较麻烦。一个比较直观的想法就是能不能将写好的视频脚本直接转换成我们的声音,让AI帮我们完成配音呢?在语音合成领域已经有很多这类工作了&…

1.Mybatis入门

目录 前言 1入门 1.1 入门程序实现 1.2 数据准备 ​编辑 1.3 配置Mybatis 1.4 编写SQL语句 1.5 单元测试 1.6 解决SQL警告与提示 2. JDBC介绍(了解) 2.1 介绍 2.2 代码 2.3 问题分析 2.4 技术对比 3. 数据库连接池 3.1 介绍 3.2 产品 4. lombok 4.1 介绍 4.…

AOP+Redisson 延时队列,实现缓存延时双删策略

一、缓存延时双删 关于缓存和数据库中的数据保持一致有很多种方案,但不管是单独在修改数据库之前,还是之后去删除缓存都会有一定的风险导致数据不一致。而延迟双删是一种相对简单并且收益比较高的实现最终一致性的方式,即在删除缓存之后&…

哪些 3D 建模软件值得推荐?

云端地球是一款免费的在线实景三维建模软件,不需要复杂的技巧,只要需要手机,多拍几张照片,就可以得到完整的三维模型! 无论是大场景倾斜摄影测量还是小场景、小物体建模,都可以通过云端地球将二维数据向三…

【JLU】校园网linux客户端运行方法

终于给这输入法整好了,就像上面图里那样执行命令就行 写一个开机自启的脚本会更方便,每次都运行也挺烦的 补充了一键运行脚本,文件路径需要自己修改 #!/bin/bashrun_per_prog"sudo /home/d0/ubuntu-drclient-64/DrClient/privillege.s…

为什么3d合并的模型不能移动---模大狮模型网

当你在3D软件中合并模型后,如果无法移动合并后的模型,可能有以下几个可能的原因: 模型被锁定或冻结:在3D软件中,你可能会将模型锁定或冻结以防止意外的移动或编辑。请确保解锁或解冻模型,这样你就可以自由地…

学籍管理系统(c++文件实现)

要求: 实现增删查改,两种方式查询,登录功能 设计: 学生端:可以查询个人成绩 管理员端:对学籍信息增删查改,查看所有信息,单人信息,学籍排序,统计绩点 三个…

【Python】采用OpenCV和Flask来进行网络图像推流的低延迟高刷FPS方法(项目模板)

【Python】采用OpenCV和Flask来进行网络图像推流的低延迟高刷FPS方法(项目模板) gitee项目模板: 网络图像推流项目模板(采用OpenCV和Flask来进行网络图像推流的低延迟高刷FPS方法) 前文: 【最简改进】基于…

伊恩·斯图尔特《改变世界的17个方程》相对论笔记

它告诉我们什么? 物质包含的能量等于其质量乘以光速的平方。 为什么重要? 光的速度很快,它的平方绝对是一个巨大的数。1千克的物质释放出的能量相当于史上最大的核武器爆炸所释放能量的约40%。一系列相关的方程改变了我们对空间、时间、物质和…

Prompt Learning 的几个重点paper

Prefix Tuning: Prefix-Tuning: Optimizing Continuous Prompts for Generation 在输入token之前构造一段任务相关的virtual tokens作为Prefix,然后训练的时候只更新Prefix部分的参数,PLM中的其他参数固定。针对自回归架构模型:在句子前面添…

vue 使用echarts-gl实现3d旋转地图

之前也有使用过echarts开发项目中涉及到的地图功能,当时使用geo来实现地图轮廓,看上去有种3d的感觉。最近闲来无事看了一份可视化大屏的UI设计图,感觉3d旋转地图挺好玩的,今天就来尝试实现下。 首先安装下echarts和echarts-gl依赖…