Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
SPI
瑞萨_Renesas
【开发板评测】Renesas RA2L1 开发板之SPI
发布于 2022-10-17 11:56:15 浏览:708
订阅该版
[tocm] 感谢RT-Thread和Renesas给我这次评测CPK-RA2L1的机会,我测评的部分是SPI。 板载MCU为:R7FA2L1AB,48MHz,Arm Cortex®-M23 内核,256KB 代码闪存, 32KB SRAM,开发板集成了J-link调试器,可以使用配套赠送的MicroUSB电缆很方便的下载以及调试程序。板中还自带了红,蓝两个用户LED指示灯,一个用户按钮,一个复位按钮,还有两个Digilent Pmod连接器,便于扩展功能。 R7FA2L1系列SPI内部框图如下: ![image-20221016205534168](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162055230.png) 以下是SPI的使用说明. ------- ### 1.创建工程 由于rtt官方仓库中RA2L1的BSP下载后编译会出现很多错误,所以使用了Rb大佬贡献的仓库来创建工程. 链接 : [Rbb666/renesas_touch_demo (github.com)](https://github.com/Rbb666/renesas_touch_demo) ### 2.使用env打开SPI BUS ![1](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162059898.png) 空格选中 然后一路esc,最后保存修改即可. 然后在env工具中使用scons --target=mdk5命令,重新生成mdk5工程. ![2](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162101869.png) ### 3.修改RA Smart Config配置 首先在readme文件中安装好FSP工具并且在Keil中配置好 ![3](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162104910.png) 打开RA SC工具,按照以下步骤创建SPI stacks ![11](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162106722.png) 接下来按照下图修改相关stacks配置 ![5](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162107805.png) 接下来修改pin配置 ![6](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162107153.png) 修改完成后,点击右上角绿色按钮,生成工程,然后关闭RA SC工具. 等待提示reload,并点击确定. ### 4.添加Kile代码 ![7](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162109843.png) ```C void spi_test(void *parameter) { my_spi = (struct rt_spi_device *)malloc(sizeof(struct rt_spi_device)); if(!my_spi) rt_kprintf("error\n"); rt_spi_bus_attach_device(my_spi,"spi01","spi0",(int *)0x01); my_spi = (struct rt_spi_device *)rt_device_find("spi01"); struct rt_spi_configuration cfg; cfg.data_width = 8; cfg.mode = RT_SPI_MASTER | RT_SPI_MODE_0 | RT_SPI_MSB; cfg.max_hz = 20 * 1000 *1000; rt_spi_configure(my_spi,&cfg); rt_spi_send(my_spi,"abcde\n",7); } void hal_entry(void) { rt_kprintf("\nHello RT-Thread!\n"); led_blu = rt_pin_get("P501"); rt_uint32_t led1_pin = rt_pin_get(LED1_PIN); spi_test(NULL); while (1) { rt_spi_send(my_spi,"abcde\n",7); rt_pin_write(led1_pin, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(led1_pin, PIN_LOW); rt_thread_mdelay(500); } } ``` ### 5.下载程序 使用如下工具 ![image-20221016211202689](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162112719.png) 按照下面设置进行设置 ![8](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162112014.png) ![9](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162112080.png) 选择Object文件夹下的hex文件后,点击Program Device即可下载. ### 6.验证 此次验证,我使用stm32f1编写了SPI从机代码,对RA2L1的SPI功能进行验证. 连接好线路图后,打开串口调试助手. ![10](https://cdn.jsdelivr.net/gh/lhylhylhy6/Picgo/202210162115080.png) 左侧是stm32接收端,右侧是RA2L1发送端.可以看到接收端成功接收到了我们周期发送的abcde字符串. 至此,SPI功能验证成功. ---- ### 视频演示 [RA2L1 SPI测评演示视频_哔哩哔哩_bilibili](https://www.bilibili.com/video/BV1A84y167SF/?vd_source=1eb279d767c0ee6733681a8a87572555) --- ### 可编译下载的代码链接 [lhylhylhy6/RA2L1_SPI: RA2L12的SPI测评 (github.com)](https://github.com/lhylhylhy6/RA2L1_SPI) --- ### 心得体会 刚开始拿到板子,发现没办法通过RT Studio导入BSP创建工程,然后编译RTT官方提供的BSP,发现很多报错,之前从未见过.后来看到大佬们在群里发的Rb大佬的git仓库,下载后编译没有报错,总算是能进行下去了. 后来又开始仿照之前玩RA6M4的步骤来玩RA2L1,在更改了env配置之后,看readme中写到的SPI使用说明配置好了RA Smart Config. 然后开始写应用层代码.在调用rtthread的spi相关函数时,传错了一个参数,导致程序一直出错,好在最后发现了这个问题并解决了. 最后在设计验证spi是否能正常使用时,使用STM32作为spi从机,来接受数据,进行验证. 这次评测收获很大,当然如果Studio能够导入这个BSP的话,配置起来应该会更快.
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
Lhy_lhy
这家伙很懒,什么也没写!
文章
1
回答
3
被采纳
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
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
编译报错
Debug
rt_mq_消息队列_msg_queue
SFUD
keil_MDK
msh
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
812
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
2
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部