Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
瑞萨_RA6M4
开发板测评
【开发板评测】Renesas RA6M4开发板之GPIO、IIC(模拟)
发布于 2022-03-28 15:36:18 浏览:1843
订阅该版
[tocm] ### 【开发板评测】Renesas RA6M4开发板之GPIO、IIC(模拟) 首先很高兴也很荣幸能成为测评的成员之一,我测评的模块是GPIO/IIC(模拟) 本次测评的板子为,Renesas RA6M4开发板,开发板集成了J-link调试器,可以方便我们烧录,仿真测试程序,可以脱离必须要有烧写工具,当然板子上预留有10脚仿真器接口,也可以使用自己的仿真器进行下载烧录程序。 ![ea228b0dc1fa3fc2f7fa45d85ec54091.jpg.webp](https://oss-club.rt-thread.org/uploads/20220328/ea228b0dc1fa3fc2f7fa45d85ec54091.jpg.webp) ### 一、测评GPIO 板子板载三个LED灯,但是供我们操作的只有一个,按键有两个,当然供我们操作的只有一个。LED灯,一个电源指示灯,一个仿真器调试灯,一个可供我们操作的灯,按键有一个复位按键,还有一个供我们操作的按键。 所以我测评io口的话操作我们能操作的即可。 ![QQ图片20220328144129.png](https://oss-club.rt-thread.org/uploads/20220328/3067fc7db2eda372b7a6e8746969ffa3.png) 当然,因为Renesas有配备FSP 所以我们就可以在里面进行配置,默认工程是将p106等的引脚配置成输出模式的,按键p105配置成中断模式。 **如图所示** ![QQ图片20220328145211.png](https://oss-club.rt-thread.org/uploads/20220328/0240b9d70d58eecaf46b6d7c2289a38f.png.webp) ![QQ图片20220328145211.png](https://oss-club.rt-thread.org/uploads/20220328/1dddd8dc906de79afc03f6d019199751.png.webp) **将按键配置到对应的中断上面,当中断产生,串口打印“key interrupt triggered”,并将标志位进行转换,用来控制led等不同形式的显示。** 代码 ``` uint32_t led_3,key; uint8_t led_flage; void irq_key_test(void *args) { rt_kprintf("\n key interrupt triggered \n"); if (led_flage<2) {led_flage++;} else if(led_flage==2) {led_flage=0;} } void gpio_init(void) { led_3=rt_pin_get("P106"); key =rt_pin_get("P105"); rt_pin_mode(led_3, PIN_MODE_OUTPUT); rt_pin_mode(key, PIN_MODE_INPUT_PULLUP); rt_pin_attach_irq(key, PIN_IRQ_MODE_FALLING, irq_key_test, RT_NULL);//配置为下降沿触发 rt_pin_irq_enable(key, PIN_IRQ_ENABLE); //使能中断 } static void gpio_thread_entry(void* p) { while(1) { if( led_flage==0) { rt_pin_write(led_3,PIN_LOW); } else if(led_flage==1) { rt_pin_write(led_3,PIN_HIGH); rt_thread_mdelay(499); rt_pin_write(led_3,PIN_LOW); rt_thread_mdelay(499); } else if(led_flage==2) { rt_pin_write(led_3,PIN_HIGH); } rt_thread_mdelay(10); } } static int Thread_TEST_GPIO(void) { gpio_init(); rt_thread_t thread_gpio= RT_NULL; thread_gpio = rt_thread_create( "gpio",//线程名字 gpio_thread_entry,//线程入口函数 RT_NULL,//线程入口函数参数 1024,//分配堆栈大小 3,//线程的优先级 10);//线程所分配的时间片 if(thread_gpio == RT_NULL) { rt_kprintf("Thread_gpio ERROR"); return RT_ERROR; } else { rt_thread_startup(thread_gpio); //启动线程 return RT_EOK; } } INIT_APP_EXPORT(Thread_TEST_GPIO);//将线程初始化添加入系统初始化 ``` ** 串口打印结果** ![9df26dbbe1bb7db394c22c304c01df21.png](https://oss-club.rt-thread.org/uploads/20220328/9df26dbbe1bb7db394c22c304c01df21.png) **LED灯显示视频** **:当按下一次按键后,led等流水灯形式亮灭显示,在按下按键灯长亮,再次按下熄灭。** [video_20220328_150050.mp4](https://oss-club.rt-thread.org/uploads/20220328/4441587ebe7c20b3da87b71a75788554.mp4) **不使用中断来控制按键,使用普通io口配置为输入模式。** **将fsp的中断关掉,将io口配置为输入模式** ![1a7392706cb9a4b93b8fb71d3f79078e.png.webp](https://oss-club.rt-thread.org/uploads/20220328/1a7392706cb9a4b93b8fb71d3f79078e.png.webp) ![ffedba7e4600abf742b7cd2924769e64.png.webp](https://oss-club.rt-thread.org/uploads/20220328/ffedba7e4600abf742b7cd2924769e64.png.webp) **使用rt_pin_read函数读取iO口,程序比较简单,我就不添加了。** ### 二、测评模拟iic **_使用模拟iic要将fsc硬件iic关掉,关掉就行了,引脚配置不用管,使用RT-Thread 的iic模拟程序的话_** 调试串口打印默认的是串口7,因为没有外接任何东西,在使用时使用usb转ttl接上即可,引脚也比较不好找。如果觉得费劲,可以找俩个脚的排针焊到j15最下面,P613/P614为TX,RX。不想焊接的在j3排针里,可以去板子反面查找有印,当然最难受的事gnd引脚太少了排针。 首先测评模拟iic花费了我好久的时间,当然前期进入死胡同里了,但是确实发现了问题,模拟iic是用的是iic1,**引脚确实是P511以及P512,但是在settings引脚号应该是引脚转换后的数字,而不是第几个引脚**。 这我发现有人应该不明白为啥,我解释一下这的原因,首先P511是引脚号,类似于stm32的PF11,但是当需要传递给内核时需要将 引脚号进行转换成数字,使内核明白控制的是那个引脚,所以需要进行将其转换,公式首先将p去掉还有三位,以p511为例,最后转换的数字为 “(5x16x16)+(1x10)+1”算出来为 1291 转换为16进制为0x50b。**注:在程序里的话需要将字符转为数字。** 前期测试,试用示波器抓信号死活没有,郁闷死了,最后发现不对,进行修改后引脚用示波器抓信号完全没有问题。 ![QQ图片20220328151444.png](https://oss-club.rt-thread.org/uploads/20220328/90cd6d92c4a838d4b05de35466038f56.png.webp) 本来打算试用iic控eeprom进行读写实验,但是不知道是我的eeprom有问题还是控制不对我的始终是不行,但是用示波器看是有波形的,波形也对。比较遗憾,退而求其次,是用的iic控制0.96OLED 屏幕。 **添加软件包** ![QQ图片20220328151709.png](https://oss-club.rt-thread.org/uploads/20220328/4f254e87ade5463f80fc6c3e1eaf3360.png.webp) ![QQ图片20220328151758.png](https://oss-club.rt-thread.org/uploads/20220328/d285c1603a8fcbadc20efa8397776ced.png.webp) **使用,ssd1306的示例,屏幕正常显示** ![IMG_20220328_141721.jpg](https://oss-club.rt-thread.org/uploads/20220328/e860193c0f613b792671ebb75a3799db.jpg.webp) ![IMG_20220328_140733.jpg](https://oss-club.rt-thread.org/uploads/20220328/0dd9a3de26d288fed134e39b2ea11e9a.jpg.webp) 视频 地址:https://www.bilibili.com/video/BV1DY4y1q71B?spm_id_from=333.999.0.0 **心得体会** 板子的话,电源跟地的排针接口太少了,如果多加东西电源跟地没地插,使用fsp软件进行配置非常的方便,但是第一次使用还是有些手忙脚乱,但是rt-thread的设备驱动框架做的已经很完善了,使用的话还是比较容易上手的。在这过程中当然也学到了很多,之前使用iic控制屏幕都是自己使用io口模拟,现在也学到了使用软件包进行驱动。难点确实对这个板子不熟悉,引脚定义与之前的也不太一样,熟悉之后还是很容易上手的。最后希望社区越做越好,更多的人加入其中,学习永无止境嘛,希望社区也越办越好。
6
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
嚜軒公告
努力中
文章
9
回答
205
被采纳
7
关注TA
发私信
相关文章
1
瑞萨RA2E1芯片移植发生的问题
2
自动创建项目后添加串口出现找不到头文件board_cfg.h
3
CPK-RA6M4的J-Link驱动没有了,每次更新都会缺少头文件
4
瑞萨RA6M4使用RC522软件包示例无反馈
5
瑞萨的EK-RA6M4和CPK-RA6M4开发上有区别吗?
推荐文章
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
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
a1012112796
20
个答案
3
次被采纳
张世争
12
个答案
3
次被采纳
踩姑娘的小蘑菇
7
个答案
3
次被采纳
rv666
9
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
7
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部