Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PWM
Numaker-IoT-M487
Nuvoton M487 PWM评测
发布于 2022-04-10 10:50:52 浏览:934
订阅该版
[tocm] ### 一、M487 PWM简介 1、EPWM 8个独立PWM 输出,16位计数器,12位预分频,最大时钟 192MHz 12位死区时间 计数方式有:上计数,下计数,上/下计数 支持刹车功能 对每一个PWM输出管脚支持屏蔽功能和三态使能 12个独立PWM 输出,16位计数器,12位预分频,最大时钟 192MHz 可配成12个输入捕获,16位时间值 12位死区时间 计数方式有:上计数,下计数,上/下计数 可配置成3对互补模式PWM输出 有相位同步功能 支持刹车功能可自恢复 对每一个PWM输出管脚支持屏蔽功能和三态使能 可立即触发EADC/DAC启动转换 可延时触发EADC/DAC启动转换(M48xGC/M48xE8) 硬件短路输出检测(M48xGC/M48xE8) 2、BPWM 如果定时器中断信号产生,支持芯片从空闲/掉电模式唤醒 8个独立PWM 输出,16位计数器,12位预分频,最大时钟 192MHz 12位死区时间 计数方式有:上计数,下计数,上/下计数 支持刹车功能 对每一个PWM输出管脚支持屏蔽功能和三态使能 ### 二、软件环境 rt-thread studio SecureCRT Logic 1.2.18 ### 三、硬件环境 Nuvoton M487 开发板 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/b4dd92462f7bd28a8da452cdacb2533c.jpg.webp) Logic逻辑分析仪 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/f74b8bc62db74ff2c3e2d9bd3a7d9ae0.jpg.webp) ### 四、建立测试环境 1、启动rt-thread studio建立基于Nuvoton M487的基本工程 2、配置工程打开PWM驱动 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/da9a59e961ac77e17c25c31e11bf5d9e.png.webp) 3、编译并烧写到开发板 在finsh输入list_device查看设备 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/748a754251af4d0320e317c1da90d7fe.png) 可以查看PWM设备已经加载成功 4、配置PWM引脚 工程生成的nutool_pincfg.cfg文件好像只能用1.20版本打开,而我用的是1.23版本,又没找到1.20版本 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/11ba4fc19d042ced0ebf5c47b5219ca8.png) 只能在开发板原理图上看看有没现成可用的PWM引脚,在mikroBUS接口上有一个PWM输出 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/c5213742f30b4d302046849764a9a108.png) ![image.png](https://oss-club.rt-thread.org/uploads/20220410/2706a8e487d7188a22a44df192ee8d08.png) 再通过nutool_PinView工具查看相应引脚的PWM通道 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/4decf0ce97e248b00aa9db1b8fea1f5d.png) EPWM0的CH4通道可以使用 5、编写产生PWM的代码 ``` pwm_dev = (struct rt_device_pwm *)rt_device_find("epwm0"); if (pwm_dev == RT_NULL) { //LOG_E("pwm run failed! can't find %s device!\n", "epwm0"); return RT_ERROR; } rt_pwm_enable(pwm_dev,4); rt_pwm_set(pwm_dev, 4, 1000, 500); ``` 6、逻辑分析仪工具查看产生PWM信号 ![image.png](https://oss-club.rt-thread.org/uploads/20220410/f4cde8331924393f6a31e4e2d2bb198b.png) 与程序设定的PWM频率、占空比一致 ### 五、测评总结 1、工程生成的pincfg文件不能用1.20更高的版本打开,官网也没有1.20版本下载,导致pincfg文件没法配置 2、查看新唐对rt-thread的PWM驱动适配源码的配置项 ``` struct rt_pwm_configuration { rt_uint32_t channel; /* 0-n */ rt_uint32_t period; /* unit:ns 1ns~4.29s:1Ghz~0.23hz */ rt_uint32_t pulse; /* unit:ns (pulse<=period) */ /* * RT_TRUE : The channel of pwm is complememtary. * RT_FALSE : The channel of pwm is nomal. */ rt_bool_t complementary; }; ``` 只能配置频率、占空比、通道等的简单功能配置,只能作为一个简单PWM信号发生器,其它功能没法通过驱动框架进行配置,如需使用电机驱动,死区控制等的功能还是直接操作StdDriver驱动使用吧 总结一句:这个PWM的驱动适配就是一个鸡肋!!!
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
kun222
rtt
文章
6
回答
3
被采纳
0
关注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
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在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部