Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
PWM
RA8-M85-vision-board
[Vision Board创客营] PWM模块实践
发布于 2024-05-05 15:07:58 浏览:267
订阅该版
1. PWM简介 PWM(Pulse Width Modulation , 脉冲宽度调制) 是一种对模拟信号电平进行数字编码的方法,通过不同频率的脉冲使用方波的占空比用来对一个具体模拟信号的电平进行编码,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替所需要波形的设备。 2. 开发环境搭建 开发环境搭建主要参考开发板环境搭建手册:https://docs.qq.com/doc/DY2hkbVdiSGV1S3JM 3. PWM模块配置过程 - 基于vision board新建rt-thread studio 模板工程 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240505/8af04d86d4e042f5ca725c74cc6dce05.png.webp) - 在RT-Thread Settings里面对GPT进行使能,这里因为开发板树莓派接口中有一个引脚是连到GPT12的所以使能GPT12 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240505/d790c66435258eb5e5123f3d1d26e2ef.png) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240505/1985f8ef20a6a63977c8e6bb9d243c17.png) - 在RA Smart Configurator 中对芯片底层进行配置 ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240505/8af59ddaba35b9192bfd53fcb91b33b8.png.webp) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240505/48abdd1080c247f3c1595bec79a370ea.png.webp) 最后生成代码 4.配置代码编写 ```c #include
#include
#include "hal_data.h" #define LED_PIN BSP_IO_PORT_01_PIN_02 /* Onboard LED pins */ #define PWM_DEV_NAME "pwm12" /* PWM 设备名称 */ #define PWM_DEV_CHANNEL 0 /* PWM通道 */ struct rt_device_pwm *pwm_dev; /* PWM 设备句柄 */ void hal_entry(void) { rt_kprintf("\nHello RT-Thread!\n"); //drv_pwm_control(); rt_uint32_t period, pulse; period = 500000; /* 周期为0.5ms,单位为纳秒ns */ pulse = 250000; /* PWM脉冲宽度值,单位为纳秒ns */ /* 查找设备 */ pwm_dev = (struct rt_device_pwm *)rt_device_find(PWM_DEV_NAME); /* 设置PWM周期和脉冲宽度默认值 */ rt_pwm_set(pwm_dev, PWM_DEV_CHANNEL, period, pulse); rt_pwm_enable(pwm_dev, PWM_DEV_CHANNEL); while (1) { rt_pin_write(LED_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED_PIN, PIN_LOW); rt_thread_mdelay(500); } } ``` 输出频率为2k,占空比50%的方波 ![screenshot_9809d35b9fc9167aa13294eeefda390.jpg](https://oss-club.rt-thread.org/uploads/20240505/5cfeba8ee83b12845f3d5992071ee0a3.jpg.webp)
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
Danke_pdk
这家伙很懒,什么也没写!
文章
3
回答
0
被采纳
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
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部