1.前言說明
1.1 本章內(nèi)容
第一次接觸RTT是在2022年的參加的系統(tǒng)集成與芯片設計大賽,當時報名了RTT賽道從此就打開了我使用RTT的大門,RTT是一個非常好的實時操作系統(tǒng),擁有很多的組件包以及功能,好了回歸正題,今天使用開發(fā)板進行一個W5500 TCP通訊的測評。
1.2 模塊介紹
我們通過查閱數(shù)據(jù)手冊發(fā)現(xiàn)RA6M3 HMI Board開發(fā)板是具有兩個硬件SPI的,這里我們使用SPI1與W5500進行通訊,通過重映射方式設置以下IO口作為SPI引腳配置連接方式如下所示
P202——>MISO
P203——>MOSI
P204——>RSPCK
P009——>CS
1.3 開發(fā)環(huán)境
開發(fā)軟件:RT-Thread Studio 2.2.6版本+FSP3.5
下載與調(diào)試:板載DAP-Link
2.開發(fā)過程
2.1 新建文件
選擇文件-新建-RT-Thread項目,選擇基于開發(fā)板 選中HMI Board即可,調(diào)試器我選擇DAP-Link,當然也可以選擇其他的調(diào)試器因為板載帶了調(diào)試起來就畢竟方便,右側(cè)RTT官方還貼心的給出了原理圖以及數(shù)據(jù)手冊供大家參考,因為我這有這個名字了所以就報錯提醒了一下
2.2 Studio配置SPI以及編譯
先打開RT-Thread Setting設置,然后選擇硬件,使能SPI總線以及使能SPI1
接著寫一段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連接進行測試
可以看到我們已經(jīng)成功把設備掛載上了
2.3 測試通訊
編寫完W5500驅(qū)動后使用ping 命令測試以下是否移植成功,官方有W5500軟件包,不過我直接自己移植了一個,可以看到可以成功ping通并且TCP通訊也是正常的。
3 心得體會
一開始移植上去后發(fā)現(xiàn)無法正常ping通數(shù)據(jù),發(fā)現(xiàn)使用rt_spi_send函數(shù)時候發(fā)送一次數(shù)據(jù)就拉回去片選了,在發(fā)送32位地址時候片選沒有連續(xù)發(fā)送8位地址數(shù)據(jù)的時候是正常,就導致無法ping通設備,可以更換rt_spi_send_then_send發(fā)送函數(shù),或者用pin框架寫一個片選,都是可以的,雖然是第一次接觸瑞薩的板子不過RTT做了很好的適配,在很大程度上簡化了開發(fā)難度,這次只測試了一下SPI與W5500的通訊,后續(xù)有時間的話可以出一個騎行碼表,好了本次測評就到這了感謝大家的觀看。
-
SPI接口
+關注
關注
0文章
262瀏覽量
35288 -
調(diào)試器
+關注
關注
1文章
311瀏覽量
24176 -
W5500
+關注
關注
5文章
45瀏覽量
18017 -
TCP通信
+關注
關注
0文章
146瀏覽量
4473 -
RTThread
+關注
關注
8文章
132瀏覽量
41552 -
RA6M3
+關注
關注
0文章
52瀏覽量
253
發(fā)布評論請先 登錄
RA6M3 HMI Board之SDHI測評實踐步驟

如何利用rt-thread和HMI Board RA6M3開發(fā)一套物聯(lián)網(wǎng)工控機?

RA6M3 HMI Board 之SDHI實踐

RA6M3 HMI Board 之RTC實踐
【線下培訓】上海臨港: RT-Thread × 瑞薩 工業(yè)監(jiān)視器 RA6M3 HMI Board解決方案

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

瑞薩 RA6M3 開發(fā)實踐指南-UART實踐
RA6M3 RT-Thread* LVGL HMI Board開發(fā)實踐指南-GPIO實踐

評論