完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我如何在 gpio 引脚上使用 pwm?有人帮帮我吗?有人分享简单的 pwm 示例吗?
ESP8266.com 版主 让派对开始并 +1 [url=https://www.banggood.com/custlink/KvGGhGF4wG[/url] 我喜欢 ESP8266 和 ESP8285 和 ESP32 Code: Select all#define PWM_0_OUT_IO_MUX PERIPHS_IO_MUX_GPIO2_U #define PWM_0_OUT_IO_NUM 2 #define PWM_0_OUT_IO_FUNC FUNC_GPIO2 #define PWM_CHANNEL 1 Code: Select alluint8_t duty=0; pwm_init( 150, &duty); pwm_start(); Code: Select allpwm_set_duty(duty, 0); pwm_start(); Code: Select all#include #include #include #include #include \"user_interface.h\" #define user_procTaskPrio 0 #define user_procTaskQueueLen 1 os_event_t user_procTaskQueue[user_procTaskQueueLen]; // see eagle_soc.h for these definitions #define PWM_0_OUT_IO_MUX PERIPHS_IO_MUX_GPIO2_U #define PWM_0_OUT_IO_NUM 2 #define PWM_0_OUT_IO_FUNC FUNC_GPIO2 #define PWM_CHANNEL 1 LOCAL uint8_t led_state=0; LOCAL uint8_t duty=0; //Main code function for heartbeat LED on GPIO2 void ICACHE_FLASH_ATTR loop(os_event_t *events) { os_delay_us(10000); led_state ? duty-- : duty++; if (duty >= 255 ) led_state=1; else if (duty <= 10 ) led_state=0; pwm_set_duty(duty, 0); pwm_start(); system_os_post(user_procTaskPrio, 0, 0 ); } void user_init(void) { pwm_init( 150, &duty); pwm_start(); //Start os task system_os_task(loop, user_procTaskPrio,user_procTaskQueue, user_procTaskQueueLen); system_os_post(user_procTaskPrio, 0, 0 ); } |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
310 浏览 1 评论
550浏览 6评论
460浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
442浏览 5评论
444浏览 4评论
415浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 01:50 , Processed in 0.751985 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号