普通用户
请问单片机的核心代码库路径和PWM的频率修改问题 [复制链接]
lile88656 发表于 2026-04-21 99 4

请问单片机的核心代码库路径和PWM的频率修改问题


发现PWM还是挺好用的,但是这个频率被固定了,如何修改频率后去操作PWM呢

同时请告知 单片机的核心代码库路径

两个问题,感谢

lile88656 2026-04-23
引用 @lile88656 的回复:

请来个例程,感谢,因为PWM都是两根一组的,你这个是一根的吧。请来个两个引脚的完整例程,感谢官方。

好的,感谢,我晚上测试一下,

回复
官方技术组 2026-04-23
' *******************************************************************************
' 版权说明:Copyright(C) All Rights Reserved VcnStudio
' 程序版本:V1.0
' 程序作者:
' 联系信息:
' 文件描述:该文件为固件启动程序;当编译工程运行到开发板中时;系统将默认启动该
'      程序、并同时回调:程序被启动 事件;该事件也是当前程序默认入口函数。
' *******************************************************************************
' 在上传代码之前,请确保你的硬件连接如下:
' 电机 A 线 1 → AOUT1
' 电机 A 线 2 → AOUT2
' AIN1 → GND (低电平)
' AIN2 → 数字引脚 3 (必须是支持 PWM 的引脚,如 3, 5, 6, 9, 10, 11)
' STBY (如果有) → Arduino 5V (高电平以启用驱动)
' VM (电机电源) → 外部电源 (如 7.4V 电池)
' VCC (逻辑电源) → 5V
' *******************************************************************************
' 此演示程序将 AIN2 设置为 50% 的占空比,AIN1 保持低电平,从而使电机正转。
' 
' * 硬件连接参考:
' * AIN1 -> GND
' * AIN2 -> 数字引脚 3 (PWM)
' * STBY -> 5V (如果驱动模块有此引脚,必须接高电平)

宏定 PIN_AIN1 2 ' GND
宏定 PIN_AIN2 3 ' 必须使用支持 PWM 的引脚,如 3 或 9
'* ******************************************************************************
'* 当程序编译成功并被写入到连接的开发板闪存时;ESP32 自带的操作系统 FreeRTOS  将会启动
'* 本程序、并同时回调该事件;该事件也为程序启动的入口函数;你可以在此事件中初始化程序相
'* 关配置并开始实现自己的业务逻辑;注:该函数不可删除
'* ******************************************************************************
事件 程序被启动()
    初始化串口通信(115200)
    调试输出("程序被启动")
    ' 设置连接小灯的引脚为输出模式
    置引脚模式(PIN_AIN1,3)
    置引脚模式(PIN_AIN2,3)
    ' 设置 AIN1 为低电平
    写引脚值(PIN_AIN1,0)
    ' 设置速度:AIN2 输出 50% 占空比的 PWM
    ' Arduino 的 模拟引脚值 范围是 0-255
    ' 50% 占空比计算:255 * 0.5 = 127.5 -> 取 127 或 128
    写模拟引脚值(PIN_AIN2,127)
    调试输出("电机已启动")
结束 事件

'* ******************************************************************************
'* 当程序被启动后、系统将会自动调用该函数;并在整个程序运行期间不断重执行该函数、你可以
'* 在该函数中执行程序的主要任务,如读写传感器值、控制执行器、处理用户输入和更新显示等
'* 注:该函数不可删除
'* ******************************************************************************
函数 无限循环()
    ' 主循环不需要做任何事,PWM 信号会在后台持续输出
    ' 你可以在这里添加其他逻辑
结束 函数
回复
lile88656 2026-04-21
引用 @Course 的回复:

您好,单片机核心库目录位于:“VcnStudio安装目录/tools/pio/packages/framework-arduinoespressif32”

如何修改频率操作PWM呢?

答:使用esp32内置的函数即可;代码示例:

' 1. 设置通道、频率和分辨率
' 重点在这里:将频率参数改为你想要的值,例如 20000 (20kHz)
ledcSetup(0, 20000, 8); 

' 2. 将通道绑定到具体的 GPIO 引脚,GPIO 4 绑定到通道 0
ledcAttachPin(4, 0);

' 3. 设置占空比 (0 - 255,因为是8位分辨率) 50% 占空比
ledcWrite(0, 128);

请来个例程,感谢,因为PWM都是两根一组的,你这个是一根的吧。请来个两个引脚的完整例程,感谢官方。

回复
官方技术组 2026-04-21

您好,单片机核心库目录位于:“VcnStudio安装目录/tools/pio/packages/framework-arduinoespressif32”

如何修改频率操作PWM呢?

答:使用esp32内置的函数即可;代码示例:

' 1. 设置通道、频率和分辨率
' 重点在这里:将频率参数改为你想要的值,例如 20000 (20kHz)
ledcSetup(0, 20000, 8); 

' 2. 将通道绑定到具体的 GPIO 引脚,GPIO 4 绑定到通道 0
ledcAttachPin(4, 0);

' 3. 设置占空比 (0 - 255,因为是8位分辨率) 50% 占空比
ledcWrite(0, 128);
回复
 作者信息
lile88656
USB全栈版
专业开发指导服务

响应时间:5分钟

服务方式:官方1对1服务

工作时间:工作日 9:00 - 18:30

专业团队 · 开发指导 · 极速响应


官网 | 基础视频教程 | 在线文档 下载 VcnStudio IDE

© VcnStudio Inc All Rights Reserved

蜀ICP备17024229号