Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AB32VG1
RT-Thread Studio
中科蓝讯
AB32VG1-PWM测评
发布于 2021-03-29 00:35:24 浏览:1084
订阅该版
[tocm] ## 硬件介绍 ●AB32VG1开发板是以中科蓝讯(Bluetrum)公司推出的基于RISC-V架构的高配置芯片AB5301A 为核心所组成的。 ## 板上资源 ●CPU:AB5301A;(LQFP48 封装,主频120M,片上集成RAM 192K, flash 8 Mbit,ADC,PWM,USB,UART,IIC 等资源) ●搭载蓝牙模块 ●搭载FM 模块 ●一路TF Card 接口 ●一路USB 接口 ●一路IIC 接口 ●一路音频接口(美标CTIA) ●六路ADC 输入引脚端子引出 ●六路PWM 输出引脚端子引出 ●一个全彩LED 灯模块,一个电源指示灯,三个烧录指示灯 ●一个IRDA(红外接收端口) ●一个Reset 按键,三个功能按键(通用版为两个功能按键) ●板子规格尺寸:6cm * 9cm ●I/O 口通过2.54MM 标准间距引出,同时兼容Arduino Uno 扩展接口,方便二次 开发板上所有的硬件特性能快速帮助评估AB5301A 所有外设和衍生开发新的应用。 ## 说明 本次申请的评测任务是PWM功能评测,我使用 rt-thread studio 平台对开发板进行配置,并且编写完代码后,通过专用下载平台( Downloader下载平台)将编译好的程序下载到开发板上。 ![软件工具.png](https://oss-club.rt-thread.org/uploads/20210329/c36310053b336a179ea9d99b0a9d9ba3.png) 具体实现步骤如下:安装好rt-thread studio 平台后(安装方法及软件安装包自行百度)进入SDK管理器中下载工具链,没有看到SDK管理器图标的话,可以在 “ 窗口> 外观>显示工具栏” 调出工具栏。 ![SDK.png](https://oss-club.rt-thread.org/uploads/20210329/7a33213e58113b006fd0e3a6e82408b2.png) 下载红框中的三个资源包:latest、AB32GV-AB-PROUGEMN、RISC-V-GCC。 ![资源包.png](https://oss-club.rt-thread.org/uploads/20210329/c6cec1a811ab2fe20d9338f6fbdec19d.png) 找到MCU->RISC-V ToolchainsPat ,配置Tool的环境,在软件安装位置下面的路径中 ![135630dd-96c7-4e4f-9504-245b64e6a158.png](https://oss-club.rt-thread.org/uploads/20210329/bee24561d3d9ee38fe0c9c4e35f18128.png) 找到RISC-V-GCC安装目录下的bin文件夹路径,我是安装在D盘,注意自己的盘符。 ![c11a5f34-966c-4622-b77a-b325aae88689.png](https://oss-club.rt-thread.org/uploads/20210329/e04afcb2c4a0f5d7dce8e07685f1026f.png) D:\RT-ThreadStudio\repo\Extract\ToolChain_Support_Packages\RISC-V\RISC-V-GCC\10.1.0\bin 环境安装完毕,开始新建项目 ![187e26e8-249f-46b4-8916-283715bd69f8.png](https://oss-club.rt-thread.org/uploads/20210329/d11d461ccd8d97945e5e6771263c6f80.png) 填入工程名称,选择“基于开发板”,在开发板选择AB32VG1,调试器随意,最后下载是使用前面提到的Downloader下载平台进行下载的。 ![36ef62d3-a4c8-4376-aa09-5878c00ba465.png](https://oss-club.rt-thread.org/uploads/20210329/de2b5b81d66ca978619f364b17a3ff16.png) 工程新建后,在左侧窗口的项目资源管理器中找到applications文件夹中的main.c文件,这里已经有一个点灯的程序,点击小锤子图标进行编译。 ![57c6779b-6fd5-4c61-8c08-6831b02b0fa0.png](https://oss-club.rt-thread.org/uploads/20210329/2743c4f6548576a038bf63363079a123.png) 控制台提示生成并保存"rtthread.dcf"文件成功。 ![790d4b68-5bc6-49d4-818f-e2b82c473a44.png](https://oss-club.rt-thread.org/uploads/20210329/2c97ed6f2ebf71af51be4eabdfcc9ae3.png) 编译成功后,可以先试一下下载, 由于蓝讯的开发板不能用rt-thread studio进行下载。需要使用蓝讯的下载工具。 ## 下载地址 [github下载](https://github.com/BLUETRUM/Downloader) [gitee下载](https://gitee.com/bluetrum/Downloader) 注意: 下载的时候要先把开发板接到电脑上,再安装驱动文件,在文件夹CP210x_Windows_Drivers里面根据自己系统安装对应的驱动文件, ![驱动.png](https://oss-club.rt-thread.org/uploads/20210329/584d57ca90e15e3797f5c405e41da6be.png) 安装驱动完毕,打开Downloader_v1.9.7文件夹下的Downloader.exe选择开发板对应的COM,”开始“选择”下载“和”自动“,待会rt-thread studio再编译调试的时候就会自动下载程序了。 ![下载窗口.png](https://oss-club.rt-thread.org/uploads/20210329/d878dc3aff3da4f163a2e088609fc8ee.png) RTT程序编写参考RTT官方教程----[PWM 设备使用示例](https://www.rt-thread.org/document/site/programming-manual/device/pwm/pwm/#finsh) 从示例代码中修改两个地方: ### 1.PWM设备和PWM通道; PE1---R(红) / PE4---G(绿) / PA2---B(蓝) **注意:开发板上对应的短路帽要接上,灯才会亮起来。** 我使用的是蓝灯作为演示,对应代码修改“lpwm2” 和 “3”。 ![设备名.png](https://oss-club.rt-thread.org/uploads/20210329/2159de547a65d3cb3a1177a1654adac7.png) 配置修改:使能PWM功能,并将对应的PA2引脚的PWM功能勾选开启 ![PWM功能勾选.png](https://oss-club.rt-thread.org/uploads/20210329/a9c631081f9b7e6b2edb7ad651fa1aaf.png) ![PWM功能勾选2.png](https://oss-club.rt-thread.org/uploads/20210329/4e8e20aca53cc7afc63440f10cc2cc0d.png) ### 2.增加main函数 由于PWM示例代码中没有main函数,编译后会报错。所以需要增加main函数。增加位置在PWM示例代码末尾msh命令前面,如图所示。 ![main函数.png](https://oss-club.rt-thread.org/uploads/20210329/f5e47a5c9a14235e87535ba34cb03520.png) 代码: ``` int main(void) { rt_kprintf"Hello, world\n"); return 0; } ``` ## 程序下载 至此代码准备完毕,连接好开发板,打开Downloader.exe,,选择好对应的串口,路径选择找到”rtthread.dcf“文件路径 ![下载页面.png](https://oss-club.rt-thread.org/uploads/20210329/33442738a15a35e6bfcf54b7884a9bf9.png) RT-Thread Studio在main.c页面,点击编译,程序自动编译并进行下载 ![编译.png](https://oss-club.rt-thread.org/uploads/20210329/8a67738df3ac11605744fbdddf956b67.png) 下载成功后会出现RT标志和熟悉的"Hello,world",与此同时,板子上蓝灯亮起。在Downloader软件窗口输入命令 "pwm_led_sample "; ![命令行.png](https://oss-club.rt-thread.org/uploads/20210329/d79260fc248bccdc30072a507e220611.png) 开发板上蓝灯就开始“呼吸”起来了!! 至此,通过PWM对灯进行调光的功能实现。 ## 完成模块功能的演示, [B站视频](https://www.bilibili.com/video/BV11h411S7iG?share_source=copy_web) ## 代码 ``` #include
#include
#define PWM_DEV_NAME "lpwm2" /* PWM设备名称 */ #define PWM_DEV_CHANNEL 3 /* PWM通道 */ struct rt_device_pwm *pwm_dev; /* PWM设备句柄 */ static int pwm_led_sample(int argc, char *argv[]) { rt_uint32_t period, pulse, dir; period = 500000; /* 周期为0.5ms,单位为纳秒
ns
*/ dir = 1; /* PWM脉冲宽度值的增减方向 */ pulse = 0; /* PWM脉冲宽度值,单位为纳秒
ns
*/ /* 查找设备 */ pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME); if (pwm_dev == RT_NULL) { rt_kprintf("
pwm
sample run failed! can't find %s device!\n", PWM_DEV_NAME); return RT_ERROR; } /* 设置PWM周期和脉冲宽度默认值 */ rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); /* 使能设备 */ rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL); while (1) { rt_thread_mdelay(50); if (dir) { pulse += 5000; /* 从0值开始每次增加5000ns */ } else { pulse -= 5000; /* 从最大值开始每次减少5000ns */ } if (pulse >= period) { dir = 0; } if (0 == pulse) { dir = 1; } /* 设置PWM周期和脉冲宽度 */ rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); } } int main(void) { rt_kprintf("Hello, world\n"); return 0; } /* 导出到
msh
命令列表中 */ MSH_CMD_EXPORT(pwm_led_sample, pwm sample); ``` ## 心得体会 本次评测是我第一次使用RT-Thread Studio和中科蓝讯的开发板,过程稍稍有点曲折,程序调试过程其实出现好多的报错,也参考了别人的文章,最终还是通过RTT的官方文件做了出来的。现在回过头来看,使用RTT平台真的是极大的降低了开发难度,尤其是RT-Thread Studio,通过点击勾选的方式就完成需要的配置,使得整个开发过程其实是很简单。感谢这次活动的举办方,让我有机会接触到RT-Thread Studio、RISC-V和中科蓝讯。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
jjxiong992
这家伙很懒,什么也没写!
文章
1
回答
1
被采纳
0
关注TA
发私信
相关文章
1
rt_thread studio 啥时候能用呢
2
RT_Thread使用反馈帖子
3
RTT studio 下的 AT指令问题。
4
什么时候RTT Sdudio支持Ubuntu,Deepin和UOS操作系统
5
rt thread Studio 关于J-LINK下载问题
6
RT-Thread studio 调试设置问题
7
RTT-Studio 如何设置调试配置参数?
8
rt_thread studio 软件包配置
9
RT-Studio目前只能开发STM32的项目吗?
10
rtt studio 生成hex名字修改
推荐文章
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
编译报错
SFUD
msh
rt_mq_消息队列_msg_queue
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1443
个答案
289
次被采纳
张世争
805
个答案
174
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
148
次被采纳
本月文章贡献
出出啊
1
篇文章
4
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
1
次点赞
crystal266
2
篇文章
2
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部