Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
ADC设备
RA8-M85-vision-board
【Vision Board 创客营】Vision Board上的ADC实践
发布于 2024-04-19 02:19:14 浏览:409
订阅该版
[tocm] * [一、前言](#一前言) * [二、环境准备](#二环境准备) * [三、搭建工程](#三在rtthread-studio-中搭建adc工程) * [四、功能测试](#四功能测试) * [五、结语](#五结语) # 一、前言 感谢官方推出的本次活动,有幸参与其中,忍不住还上要说一下Vision Board开发板无论从包装上,还是主板真的很漂亮,参加创客营前期也通过官方帖子了解到了功能的强大。本次参与对开发板的ADC功能进行测评,这期间也离不开导师们的帮助,在此也对各位导师的付出表示感谢。 # 二、环境准备 根据官方提供的[文档说明](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/hw-board/ra8d1-vision-board/ra8d1-vision-board),我们把所有的资料都下载下来,并安装,这里推荐大家都使用WiN10或以上的版本,电脑内存不要低于2G,不然在软件的使用上会遇到一些很奇怪的问题。 我使用的是RTThread Studio作为开发环境,配合瑞莎的配置软件FSP5.1.0,能够很容易的搭建好我们所需要的测试环境。 ## Rtthread studio 环境配置 ### 1.在资源管理包中下载最新的开发板资源 ![image-1.png](https://oss-club.rt-thread.org/uploads/20240419/5cc680540f63e98284337f93a8e55981.png.webp) ### 2.更新最新的下载器资源PyOCD 更新到10.2.1版本 ![image-2.png](https://oss-club.rt-thread.org/uploads/20240419/9786879e08e8133c5a0a89a148b69323.png) # 三、在RTThread Studio 中搭建ADC工程 ## 1.选择以开发板创建一个模板工程 ![image-3.png](https://oss-club.rt-thread.org/uploads/20240419/b2fa8334f13cccd843032c1639363896.png) ## 2.在RT-Thread Settings中打开ADC的驱动框架和ADC设备 ![image-4.png](https://oss-club.rt-thread.org/uploads/20240419/1312cee54f25913223ead2223640592b.png) ![image-5.png](https://oss-club.rt-thread.org/uploads/20240419/15bae285390eaf2604ae5e165f21cecf.png) ## 3.如果在此时编译,编译器会给你报一个大大的错误,这是因为我们只打开了驱动层相关使能,但是芯片的ADC功能我们还没有配置,这个时候就要用到RA Smart Configuator了,就是环境配置是下载的FSP软件啦。 ![image-6.png](https://oss-club.rt-thread.org/uploads/20240419/c3ed51a593bd86f4959c3d0835181699.png) ## 二、RA Smart Configuator中的配置 ### 1.双击打开配置软件,这一步点击“是”,选择软件安装的文件夹就好了 ![image-7.png](https://oss-club.rt-thread.org/uploads/20240419/8d6a25aee7804d1d43064eeeb8cd493a.png.webp) ### 2.参考[外设配置官方文档](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA%E7%B3%BB%E5%88%97%E4%BD%BF%E7%94%A8FSP%E9%85%8D%E7%BD%AE%E5%A4%96%E8%AE%BE%E9%A9%B1%E5%8A%A8),按以下图即可配置,这里需要主要的是通道的选择,只要打开通道0 和通道1,就可以使用板子上的树莓派接口的AN000 和AN001了。通过原理图也可以看到AN000 在P004引脚上,AN001在P005引脚上,软件已经配置好了在Pins中可以查看到,我们不需要进行选择。直接点击右上角生成即可。 ![image-9.png](https://oss-club.rt-thread.org/uploads/20240419/1fb456d4dc8d7a883bc20be0ad42eda4.png.webp) 3.回到RT-Thread Studio 中编译文件会发现已经没有错误了。 # 四、功能测试 相关外设和驱动我们都已经准备好了,我们拷贝一份官方的ADC例程进行测试, ### 1.在src 文件夹下的hal_entry.c文件中编写我们的代码,该文件中的函数在main.c中被调用,void hal_entry(void)函数就相当于main函数。 ``` c #include
#include
#include "hal_data.h" #define ADC_DEV_NAME "adc0" /* ADC 设备名称 */ #define ADC_DEV_CHANNEL 0 /* ADC 通道 */ #define REFER_VOLTAGE 330 /* 参考电压 3.3V,数据精度乘以100保留2位小数*/ #define CONVERT_BITS (1 << 12) /* 转换位数为12位 */ #define LED_PIN BSP_IO_PORT_01_PIN_02 /* Onboard LED pins */ void hal_entry(void) { rt_kprintf("\nHello RT-Thread!\n"); while (1) { rt_pin_write(LED_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED_PIN, PIN_LOW); rt_thread_mdelay(500); } } static int adc_vol_sample(int argc, char *argv[]) { rt_adc_device_t adc_dev; rt_uint32_t value, vol; rt_err_t ret = RT_EOK; rt_uint32_t number = 20; /* 查找设备 */ adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME); if (adc_dev == RT_NULL) { rt_kprintf("adc sample run failed! can't find %s device!\n", ADC_DEV_NAME); return RT_ERROR; } /* 使能设备 */ ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL); while(number) { number--; /* 读取采样值 */ value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL); rt_kprintf("the value is :%d \n", value); /* 转换为对应电压值 */ vol = value * REFER_VOLTAGE / CONVERT_BITS; rt_kprintf("the voltage is :%d.%02d \n", vol / 100, vol % 100); rt_thread_delay(500); } /* 关闭通道 */ ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL); return ret; } /* 导出到 msh 命令列表中 */ MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample); ``` ### 2.编译后进行下载程序,显示=====,表示我们已经下载成功。 ### 3.使用杜邦线直接将VCC 连接到AN000上即第18个引脚,打开串口终端进行测试。 ![image-10.png](https://oss-club.rt-thread.org/uploads/20240419/dba11b8999a6f1ce01e33d11c348cbc4.png.webp) ### 4.串口终端测试数据 ![image-11.png](https://oss-club.rt-thread.org/uploads/20240419/f0dec49902b1afd07a0561c28cf5a338.png) # 五、结语 至此ADC的工程的搭建也仅仅是个熟悉开发板的开始,相信该开发板的强大功能会给大家带来更多惊喜,经过长时间打印测试,ADC采样值很稳定。测试过程若有纰漏,欢迎大家指正。有更好的测试方式,也请大家不吝赐教。
4
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
hzh431213
这家伙很懒,什么也没写!
文章
4
回答
16
被采纳
0
关注TA
发私信
相关文章
1
adc设备不能打开。。。。。
2
ADC 设备名称是怎么确定的
3
stm32g0 设备驱动框架 wdt adc 报错
4
ADC设备只能采集一个通道值?
5
rtthread studio adc三通道采集ntc电阻出现问题
6
ADC复制的void HAL_ADC_MspInit编译错误
7
双通道ADC采集问题
8
多通道ADC读取出现问题
9
ADC 总线打不开 控制台没有ADC总线
10
rt_adc_voltage 使用问题
推荐文章
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
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
19
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
6
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
RTT_逍遥
1
篇文章
5
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部