0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RA6M3 HMI Board之硬件SPI实践

冬至子 来源:是舒克呀 作者:是舒克呀 2023-10-30 17:49 次阅读

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.jpg

2.jpg

1.3 开发环境
开发软件:RT-Thread Studio 2.2.6版本+FSP3.5
下载与调试:板载DAP-Link

2.开发过程

2.1 新建文件
选择文件-新建-RT-Thread项目,选择基于开发板 选中HMI Board即可,调试器我选择DAP-Link,当然也可以选择其他的调试器因为板载带了调试起来就毕竟方便,右侧RTT官方还贴心的给出了原理图以及数据手册供大家参考,因为我这有这个名字了所以就报错提醒了一下

1.jpg

2.jpg

2.2 Studio配置SPI以及编译
先打开RT-Thread Setting设置,然后选择硬件,使能SPI总线以及使能SPI1

1.jpg

接着写一段SPI初始化代码以及将设备挂载到总线上,随后我们编译一下代码查看一下设备是否挂载上

#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 findrn");
}
else {
rt_kprintf("spi get readyrn");
}
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 errorrn");
}
else {
LOG_E("spi successrn");
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连接进行测试

1.jpg

可以看到我们已经成功把设备挂载上了

1.jpg

2.3 测试通讯
编写完W5500驱动后使用ping 命令测试以下是否移植成功,官方有W5500软件包,不过我直接自己移植了一个,可以看到可以成功ping通并且TCP通讯也是正常的。

1.jpg

2.jpg

3 心得体会
一开始移植上去后发现无法正常ping通数据,发现使用rt_spi_send函数时候发送一次数据就拉回去片选了,在发送32位地址时候片选没有连续发送8位地址数据的时候是正常,就导致无法ping通设备,可以更换rt_spi_send_then_send发送函数,或者用pin框架写一个片选,都是可以的,虽然是第一次接触瑞萨的板子不过RTT做了很好的适配,在很大程度上简化了开发难度,这次只测试了一下SPI与W5500的通讯,后续有时间的话可以出一个骑行码表,好了本次测评就到这了感谢大家的观看。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SPI接口
    +关注

    关注

    0

    文章

    258

    浏览量

    34373
  • 调试器
    +关注

    关注

    1

    文章

    303

    浏览量

    23716
  • W5500
    +关注

    关注

    5

    文章

    45

    浏览量

    17582
  • TCP通信
    +关注

    关注

    0

    文章

    146

    浏览量

    4221
  • RTThread
    +关注

    关注

    8

    文章

    132

    浏览量

    40861
  • RA6M3
    +关注

    关注

    0

    文章

    52

    浏览量

    110
收藏 人收藏

    评论

    相关推荐

    RA6M3 HMI BoardSDHI测评实践步骤

    首先对SDHI和SDIO本质上的区别进行说明,然后使用RT-Studio新建工程进行开发,通过RASC对RA6M3的底层硬件配置,然后使用SDHI接口实现SD的识别,搭配文件系统对SD卡进行读写操作,同时记录开发遇到的问题。
    的头像 发表于 08-07 15:54 1174次阅读
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b><b class='flag-5'>之</b>SDHI测评<b class='flag-5'>实践</b>步骤

    如何利用rt-thread和HMI Board RA6M3开发一套物联网工控机?

    近年来,随着新一轮的科技发展以及工业产业升级,工业经济慢慢的由数字化向网络化和智能化发展。基于这一理念,本人利用rt-thread和HMI Board RA6M3开发了一套物联网工控机。
    的头像 发表于 09-15 15:27 1481次阅读
    如何利用rt-thread和<b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>RA6M3</b>开发一套物联网工控机?

    RA6M3 HMI Board评测挑战】-瑞萨RA6M3上的CAN实践

    RA6M3 HMI Board 评测大挑战】-瑞萨RA6M3上的CAN实践
    的头像 发表于 10-17 14:55 2002次阅读
    【<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>评测挑战】-瑞萨<b class='flag-5'>RA6M3</b>上的CAN<b class='flag-5'>实践</b>

    RA6M3数据手册(英)

    RA6M3数据手册(英)
    发表于 11-07 19:49 0次下载
    <b class='flag-5'>RA6M3</b>数据手册(英)

    RA6M3硬件用户手册(英)

    RA6M3硬件用户手册(英)
    发表于 11-07 19:49 0次下载
    <b class='flag-5'>RA6M3</b><b class='flag-5'>硬件</b>用户手册(英)

    RA6M3硬件用户手册(中英)

    RA6M3硬件用户手册(中英)
    发表于 11-07 19:49 2次下载
    <b class='flag-5'>RA6M3</b><b class='flag-5'>硬件</b>用户手册(中英)

    RA6M3 组用户手册:硬件

    RA6M3 组用户手册:硬件
    发表于 05-12 19:25 0次下载
    <b class='flag-5'>RA6M3</b> 组用户手册:<b class='flag-5'>硬件</b>

    RA6M3 组数据表

    RA6M3 组数据表
    发表于 05-12 19:25 0次下载
    <b class='flag-5'>RA6M3</b> 组数据表

    RA6M3 HMI Board SDHI实践

    进行说明,然后使用RT-Studio新建工程进行开发,通过RASC对RA6M3的底层硬件配置,然后使用SDHI接口实现SD的识别,搭配文件系统对SD卡进行读写操作,同时记录开发遇到的问题。 1.2
    的头像 发表于 06-19 18:15 1086次阅读
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>之</b>SDHI<b class='flag-5'>实践</b>

    RA6M3 HMI Board RTC实践

    开发环境: RT-Thread Studio:v2.2.6 开发板:RA6M3 HMI Board开发板 MCU:R7FA6M3AH3CFB 1 R
    的头像 发表于 06-21 21:31 2933次阅读
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>之</b>RTC<b class='flag-5'>实践</b>

    RA6M3 组用户手册:硬件

    RA6M3 组用户手册:硬件
    发表于 06-29 19:17 0次下载
    <b class='flag-5'>RA6M3</b> 组用户手册:<b class='flag-5'>硬件</b>

    【线下培训】上海临港: RT-Thread × 瑞萨 工业监视器 RA6M3 HMI Board解决方案

    RT-Thread 与瑞萨将于10月14日在上海临港举行一场线下培训。 本次培训将为开发者们带来期待已久的热门威廉希尔官方网站 主题, RT-Thread × 瑞萨 工业监视器 RA6M3 HMI Board
    的头像 发表于 09-07 17:40 794次阅读
    【线下培训】上海临港: RT-Thread × 瑞萨 工业监视器 <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>解决方案

    瑞萨RA6M3 HMI-Board Video Demo 上手指南

    高性能芯片 RA6M3 及 RT-Thread 和 LVGL 软件生态,HMI Board 不仅硬件性能强劲,同时软件生态丰富,助力开发者快速开发出 GUI 智能
    的头像 发表于 09-15 18:25 1750次阅读
    瑞萨<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI-Board</b> Video Demo 上手指南

    瑞萨 RA6M3 开发实践指南-UART实践

    RT-Thread即将发布一系列RA6M3外设驱动的实践指南,我们将使用瑞萨RA6M3 HMI-Board 开发板,带领大家上手RT-Thread设备驱动。  【
    的头像 发表于 09-23 12:15 1360次阅读

    RA6M3 RT-Thread* LVGL HMI Board开发实践指南-GPIO实践

    RT-Thread即将发布一系列RA6M3外设驱动的实践指南,我们将使用瑞萨RA6M3 HMI-Board 开发板,带领大家上手RT-Thread设备驱动, 本篇文章将介绍GPIO外设
    的头像 发表于 11-30 19:05 1259次阅读
    <b class='flag-5'>RA6M3</b> RT-Thread* LVGL <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>开发<b class='flag-5'>实践</b>指南-GPIO<b class='flag-5'>实践</b>