Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PWM
瑞萨_Renesas
【开发板评测】Renesas RA2L1 开发板之PWM
发布于 2022-10-16 01:05:41 浏览:777
订阅该版
[tocm] # 项目背景 9月末的一个晚上停车后,刷微信新消息,发现RTT发布了RA2L1功能评测活动,看这个板子支持usb,想拿来玩玩usb驱动,但限于自己没玩过renesas的单片机,因此先从简单的pwm入手,待完成评测任务后,继续玩这个板子的usb。因此申请了评测PWM的请求,很荣幸评测申请得到通过。 # 硬件对PWM支持状况 板载LED中,支持PWM功能,同时该脚也直接引出至金针上,因此可使用该脚做PWM功能测试 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/878b43c0174a5ea657e307427388e9bc.png) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/a4f3de950c7a2d75d07769e1dc52512c.png.webp) # 打开PWM所需的设置 1. 开GPT2 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/67729a9501be21faa967f555adcd3282.png) 2. 时钟设置 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/53030dce8befb0648eba6bd77fa21175.png.webp) 3. 新建timer ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/2eb8a9b08dd714205edc7766cd4fb8fb.png.webp) 4. timer配置 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/c89cf229c8e1740ed6a14700236d1017.png) 5. RTT配置打开pwm功能: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/ab839c5da01437f871de6424b059ef18.png.webp) # 编译问题解决 针对报错,直接搜源码中包含报错位置的代码,添加至工程 添加的文件有: drv_pwm.c rt_drv_pwm.c r_gpt.c # 编写测试代码 ```c /* * Copyright (c) 2006-2022, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2022-10-10 Liuxiequan first version */ #include
#include "hal_data.h" #include
/* * See drv_pwm_controL.C, only support channel 0 * * There's actually only one GPT timer with 10 channels. In this case, the * timer is separated into 10 PWM devices, so each device has only one * channel. * */ #define PWM_DEV_CHANNEL 0 rt_uint32_t period, pulse, dir; int pwm_test(int argc, char**argv) { struct rt_device_pwm *pwm_dev; int pulse; int period; if ((argc != 4) || (1 != sscanf(argv[2], "%lu", &period)) || (1 != sscanf(argv[3], "%lu", &pulse))) { rt_kprintf("Please input \"mpwm_test
\"\n"); return -1; } if(argv[1][3] != '2') { rt_kprintf("Only support pwm2\n"); return -2; } if(pulse > period) { rt_kprintf("PWM pulse need min than period\n"); return -2; } pwm_dev = (struct rt_device_pwm *)rt_device_find(argv[1]); if (pwm_dev == RT_NULL) { rt_kprintf("pwm sample run failed! can't find %s device!\n", argv[1]); return RT_ERROR; } rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL); return 0; } MSH_CMD_EXPORT(pwm_test, Usage: pwm_test
); ``` # 效果演示 [效果演示网页](https://www.bilibili.com/video/BV1L14y1E7FV/?vd_source=d370451f5ef03c96e7d2094b3e8b5463 "效果演示网页") # 代码路径 [代码路径](https://gitee.com/ShaquilleLiu/ra2l1_rtt_pwm_demo "代码路径") # 心得体会 由于之前没用过renesas的单片机产品,在前期环境搭建上遇到了不少问题,不过好在renesas官网资料比较全,而且芯片驱动可以多机型复用,因此遇到的问题都能找到解决方法。 环境配好后,使用RA配置pwm时,发现RA功能做的挺人性化的,默认工程中,P501配置的是GPIO,一旦我不关闭gpio功能直接配置pwm,会直接给出警告。而且配置时会自动带出对应的脚,这一点挺不错,至少在配置过程中,操作者可以降低查询芯片软件规格书的时间。 # 遇到的问题 ## RTT中RA2L1代码无法跑起来 1. 串口由V1改为V2 2. 片上资源打开UART9 3. 将......\components\dfs\include 加入系统的include目录 4. 从 RA6M4中拷贝 r_icu_cfg.h到工程目录下 5. 将dfs部分代码添加到工程中 6. finsh中添加文件msh_file.c 此时,代码可以跑起来,但无打印 7. 在menuconfig中将uart口从uart0改成uart9 此时程序无打印,灯不闪,怀疑是跑飞 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/0226e8832e26007c2acd8bb0aebca37f.png.webp) 从对应关系上看,配成uart9是没问题的,但不知道为何会跑挂。 8. 对比Rb工程(https://github.com/Rbb666/renesas_touch_demo),未发现有差异的点,且Rb工程使用的就是uart9做调试串口 由于无法在线调试,且无调试信息,暂无头绪,因此后面考虑尝试直接使用Rb工程,发现可以直接使用,无打印问题暂时放一边。 ## 无法使用RA打开现有配置 解决办法: ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/cf03c935dace46413f74f8ec9c062e28.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20221016/7ac977b69c0dfad79e78bc6ee483dd75.png.webp)
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
oxlm
这家伙很懒,什么也没写!
文章
4
回答
102
被采纳
8
关注TA
发私信
相关文章
1
玩iot camera笔记之3测试试用3路pwm
2
[已解决]PWM输出异常分析
3
给RT-Thread添加PWM驱动框架
4
关于rt-thread-3.1.0 pwm
5
关于rt-thread的PWM框架在stm32f103vf应用的疑问
6
rt-thread stm32 bsp adc pwm 外设适配好了吗
7
stm32f103ze 添加pwm 设备失败
8
【正点原子】潘多拉IoT-STM32L475开发板 用menuconfig 看不到PWM....
9
关于rtthread 4.0.0版本中pwm的初始化定时器寄存器读写问题
10
RT-Thread正点原子战舰V3使用PWM设备驱动没有输出
推荐文章
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
Bootloader
AT
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
MicroPython
C++_cpp
本月问答贡献
出出啊
1517
个答案
342
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
813
个答案
177
次被采纳
crystal266
547
个答案
161
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
聚散无由
2
篇文章
14
次点赞
catcatbing
2
篇文章
4
次点赞
Wade
2
篇文章
2
次点赞
Ghost_Girls
1
篇文章
5
次点赞
xiaorui
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部