ESP8266 PWM&GPIO
来源:互联网 发布:淘宝个人主页标签 编辑:程序博客网 时间:2024/06/05 12:01
这是一个关于ESP8266 PWM一路输出的例子,输出引脚为GPIO2,这个管脚与UART1有冲突,可以到art_config(uint8 uart_no)这个函数里关掉PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_U1TXD_BK);也可以换个脚位。
#include "gpio.h"#include "pwm.h"
这是定义的全局变量
ETSTimer pwmTimer;//定时器 pwmuint32 pwm_duty_init[1]={0};//对应管脚的输出占空比uint32 pwm_info[1][3]={{PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO2,2}};//设置pwm输出管脚这是PWM输出函数,使用定时器回调的方式调用这个函数
void ICACHE_FLASH_ATTRpwm_put(void *arg)//pwm输出{static int32 duty = 0;//pwm占空比static bool fla = 0;if(fla){duty-=50;pwm_set_duty(duty,0);pwm_start();}else{duty+=50;pwm_set_duty(duty,0);pwm_start();}if(duty>=5000) fla = 1;if(duty<=0) fla = 0;}这是ESP8266系统初始化完成后的回调函数
void ICACHE_FLASH_ATTRsys_init_cb(void)//系统初始化完成后回调函数{PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO0_U,FUNC_GPIO0);//设置输出模式gpio_output_set(0,BIT0,BIT0,0);//gpio0输出低电平//gpio_output_set(BIT0,0,BIT0,0);//gpio0输出高电平//开启pwm功能pwm_init(1000,pwm_duty_init,1,pwm_info);os_timer_disarm(&pwmTimer);os_timer_setfn(&pwmTimer,pwm_put,NULL);os_timer_arm(&pwmTimer,50,TRUE);}这里是主函数部分
void ICACHE_FLASH_ATTRuser_init(void){system_init_done_cb(sys_init_cb);//创建初始化完成后回调函数}有一点要是注意,需要在APP目录下的Makefile的LINKFLAGS_eagle.app.v6 = 里添加PWM的源文件
源码下载
阅读全文
1 0
- ESP8266 PWM&GPIO
- ESP8266 GPIO中断学习
- ESP8266 GPIO入门篇
- ESP8266 GPIO入门(转)
- esp8266 GPIO模拟串口
- ESP8266-SDK的3路PWM输出
- 关于ESP8266 GPIO中断使用的总结
- esp8266使用micropython对GPIO的操作
- 关于ESP8266 GPIO中断使用的总结
- STM32 -- 笔记一 -- CLK、GPIO、PWM
- esp8266-01和esp8266-12f的区别,以及pwm占空比控制电压变化
- ESP8266 物联网开发 -- 3,GPIO控制流水灯
- ESP8266--学习笔记(八)中断(一)GPIO中断
- ESP8266 SDK开发篇(五)——GPIO
- ESP8266 RTOS SDK使用GPIO中断的方法
- 二,ESP8266 GPIO和SPI和定时器和串口
- 二、ESP8266之GPIO 定时器 以及串口(基于LUA开发)
- android 用gpio作为pwm输出控制led背光
- php 多个一维数组合拼成二维数组的方法
- scala File -demo1
- Spring Cloud 监控服务器下 IP/URL 不正确导致无法注册的解决方法
- popwindow 动画取消奔溃报错java.lang.NullPointerException ViewRootImpl.drawAccessibilityFocusedDrawable
- 事件捕获e || window.event
- ESP8266 PWM&GPIO
- Redis lesson14 Redis 中的消息订阅
- Java 多线程
- 考研数学
- oracle 常用语法(转载)
- java读取资源文件的五种方式 (转载)
- 微信分享突然失效的解决方法记录
- 清除浮动的方法以及各自的优缺点
- 5. pstack 跟踪进程栈