Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SPI
HMI-Board
瑞萨_Renesas
RA6M3 HMI Board 之硬件SPI实践
发布于 2023-06-12 10:39:55 浏览:952
订阅该版
[tocm] #1. 前言说明 ## 1.1 本章内容 第一次接触RTT是在2022年的参加的系统集成与芯片设计大赛,当时报名了RTT赛道从此就打开了我使用RTT的大门,RTT是一个非常好的实时操作系统,拥有很多的组件包以及功能,好了回归正题,今天使用开发板进行一个W5500 TCP通讯的测评。 ##1.2 模块介绍 我们通过查阅数据手册发现RA6M3 HMI Board开发板是具有两个硬件SPI的,这里我们使用SPI1与W5500进行通讯,通过重映射方式设置以下IO口作为SPI引脚配置连接方式如下所示 P202---->MISO P203---->MOSI P204---->RSPCK P009---->CS   ## 1.3 开发环境 开发软件:RT-Thread Studio 2.2.6版本+FSP3.5 下载与调试:板载DAP-Link #2. 开发过程 ##2.1 新建文件 选择文件-新建-RT-Thread项目,选择基于开发板 选中HMI Board即可,调试器我选择DAP-Link,当然也可以选择其他的调试器因为板载带了调试起来就毕竟方便,右侧RTT官方还贴心的给出了原理图以及数据手册供大家参考,因为我这有这个名字了所以就报错提醒了一下   ## 2.2 Studio配置SPI以及编译 先打开RT-Thread Setting设置,然后选择硬件,使能SPI总线以及使能SPI1  接着写一段SPI初始化代码以及将设备挂载到总线上,随后我们编译一下代码查看一下设备是否挂载上 ```c #define SPI_Name "spi1" struct rt_spi_device *spi_device; void W5500_SPI_Init(void) { #define W5500_CS1 BSP_IO_PORT_00_PIN_10 /* W5500 CS pins */ static rt_device_t spi; rt_err_t spi_mont; struct rt_spi_configuration cfg; spi = rt_device_find(SPI_Name); uint8_t test[5] = "Test"; if(!spi) { rt_kprintf("spi no find\r\n"); } else { rt_kprintf("spi get ready\r\n"); } spi_device = (struct rt_spi_device *)rt_malloc(sizeof(struct rt_spi_device)); spi_mont = rt_spi_bus_attach_device_cspin(spi_device,"spi10","spi1",RT_NULL,RT_NULL); if(spi_mont != RT_EOK) { LOG_E("mount spi error\r\n"); } else { LOG_E("spi success\r\n"); cfg.data_width = 8; cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB; //LL模式 cfg.max_hz = 10 *1000 *1000; //10M rt_spi_configure(spi_device, &cfg); // rt_spi_send(spi_device, test, 4); } } INIT_APP_EXPORT(W5500_SPI_Init); //自动初始化 ``` 通过杜邦线与W5500连接进行测试  可以看到我们已经成功把设备挂载上了  ## 2.3 测试通讯 编写完W5500驱动后使用ping 命令测试以下是否移植成功,官方有W5500软件包,不过我直接自己移植了一个,可以看到可以成功ping通并且TCP通讯也是正常的。   ## 3 心得体会 一开始移植上去后发现无法正常ping通数据,发现使用rt_spi_send函数时候发送一次数据就拉回去片选了,在发送32位地址时候片选没有连续发送8位地址数据的时候是正常,就导致无法ping通设备,可以更换rt_spi_send_then_send发送函数,或者用pin框架写一个片选,都是可以的,虽然是第一次接触瑞萨的板子不过RTT做了很好的适配,在很大程度上简化了开发难度,这次只测试了一下SPI与W5500的通讯,后续有时间的话可以出一个骑行码表,好了本次测评就到这了感谢大家的观看。
7
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
是舒克呀
这家伙很懒,什么也没写!
文章
1
回答
2
被采纳
0
关注TA
发私信
相关文章
1
BBB的SPI驱动
2
求个SPI上挂两个或多个设备的使用例子
3
SPI设备有个bug
4
spi flash 的fatfs使用一段时间后读写文件出现故障
5
SPI驱动
6
请教rt_spi_configure函数理解
7
SPI FLASH挂载的问题
8
SPI-FLASH 文件系统 SPIFFS
9
求助一个完整的 spi flash 驱动
10
关于同时使用文件系统与SPI FLASH的问题
推荐文章
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组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
FAL
RTC
rt-smart
I2C_IIC
cubemx
UART
ESP8266
WIZnet_W5500
BSP
ota在线升级
PWM
flash
packages_软件包
freemodbus
潘多拉开发板_Pandora
ADC
GD32
定时器
编译报错
flashDB
keil_MDK
socket
中断
rt_mq_消息队列_msg_queue
Debug
ulog
SFUD
msh
C++_cpp
at_device
本月问答贡献
出出啊
1524
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
818
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
1
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部