Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread一般讨论
10
初学SPI驱动遇到了问题。
发布于 2023-03-07 18:57:14 浏览:521
订阅该版
我尝试挂载一个SPI设备,此前我并没有接触。模模糊糊搜了发现没有准确的导向。我修改了Kconfig,增加了SPI2这一项,然后MSP.c文件也有SPI的驱动。 于是的话,我定义个configuration结构体,和device设备结构体,不过当我挂载的时候,不管怎么样,我感觉也奇怪,明明是char *。而GPIO是GPIO_TYPEDEF,就不匹配。 我感觉我有点迷糊了,闯入了一片未知区域。希望大佬点醒我,该去如何的学。然后当前最主要的问题,还是如何挂载一个SPI设备。 当然,还要,那个SPI.h文件,还要I^2C文件,如何加入,我看了一些博客,最前面的介绍还是能看懂,但是贴出的完整代码有drvI^2C文件。呃呃,我有些困惑,后面的demo感觉就无法跟上了,当然我想问如何加入这些,作者貌似配置了env工具,和一些Kconfig,说真的,env那个我还真不熟,初学的时候,我尝试添加一些配置,发现有一些bug。emmm,我希望学会这个,然后在后面的加入一个WIFI模块或者其他组件。 希望有指引一下,这样能帮我走很多弯路,现在也有些急躁了,作为一个学生,了解的的确不是很多,贸然闯入。 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230307/e5b25f7f84ad9c794ec2058ae6e53310.png) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20230307/ea311c660de53e8e39ae3bd1bf8329b8.png)
查看更多
宇宙码蚁
2023-03-07
接口与实现分离
看官方文档就行,https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/spi/spi; 你图片中箭头指的地方,那个是cubemx生成的代码,不用改。
2
个回答
默认排序
按发布时间排序
lchnu
2023-03-08
Witness, Understand, Skill
在RT-Studio中使用Cube MX的过程,我不熟悉。但是,相关硬件驱动部分,我是按照如下步骤处理: 1. 使用CubeMX生成一个目标芯片的ioc工程,配置相关引脚成SPIx,生成工程。 2. 按照官方驱动的过程,使用rt_spi_bus_attach_device挂载对应的SPI设备到SPI Bus上。 3. 打开board.c,将第一步中的`HAL_SPI_MspInit`函数内容复制到board.c的最后空白处。如果程序中需要对相关引脚进行解除初始化,则将对应的`HAL_SPI_MspDeInit`也复制到board.c中。 其实,你可以这么理解RTT的device框架:(\rightarrow看成向右的箭头即可) RTT APP $\rightarrow$ RTT Device driver (`device.c`) $\rightarrow$ RTT Peripheral driver (`drv_spi.c`) $\rightarrow$ STM32 HAL SPI driver (`HAL functions`) $\rightarrow$ Specified PIN configuration (`HAL_SPI_MspInit`) 只有在上述过程的最后一步,将相关引脚配置成SPI模式,才能依次从底层到APP,完成SPI数据流驱动到SPI框架的对接。 不当之处,请批评指正。 注: 该链接是我以前写着玩的一篇文章 https://club.rt-thread.org/ask/article/a66b4c96c13cc0d5.html 其中,第二部分`QSPI+W25Q64的FAL移植`中,对QSPI部分进行了使用。你可以不管其中的FAL部分,直接看QSPI部分,对照来驱动你的SPI。 祝顺利!
撰写答案
登录
注册新账号
关注者
0
被浏览
521
关于作者
a2199234653
这家伙很懒,什么也没写!
提问
11
回答
1
被采纳
0
关注TA
发私信
相关问题
1
有关动态模块加载的一篇论文
2
最近的调程序总结
3
晕掉了,这么久都不见layer2的踪影啊
4
继续K9ii的历程
5
[GUI相关] FreeType 2
6
[GUI相关]嵌入式系统中文输入法的设计
7
20081101 RT-Thread开发者聚会总结
8
嵌入式系统基础
9
linux2.4.19在at91rm9200 上的寄存器设置
10
[转]基于嵌入式Linux的通用触摸屏校准程序
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
3
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部