12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯

Posted yangfengwu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯相关的知识,希望对你有一定的参考价值。

https://www.cnblogs.com/yangfengwu/p/11094085.html

PWM其实没有什么,就是看着官方给的API,,,然后就是用呗

对了,其实对于RTOS SDK版本的开发可以直接去参考非RTOS SDK的API  这个直接有例子

其实嵌入操作系统也没有什么,底层自带的外设硬件功能该怎么样还是怎么样,操作系统也不能改变什么,,操作系统的存在只是去操作咱定义的函数,让这些函数执行的时候快速的切换执行...

技术图片

技术图片

 

 我直接说第三个参数

第三个参数是说要定义一个 这样的数组  [n][3]

技术图片

其实就是为了可以一次性配置多个引脚.....

一开始我在想一维的不行吗.........给你多个引脚的寄存器地址不就可以了????

但是呢官方给的配置PWM输出的函数呢..每个引脚都需要填三个参数....不清楚为什么

第一个参数填引脚的寄存器地址  寄存器地址好说,咱所有的配置引脚其实都是配置这个引脚的寄存器(如果你看过我的STM32带你入坑系列)

第二个参数  技术图片   填写这个管脚的复用值,这个值不一样,这个引脚的功能就不一样

然后我解释一下,假设是GPIO12管脚,,,说一下哈,记住就行,这是我看了很多资料才知道的....具体官方在哪里写的,,我也没有找到

记住哈

技术图片

 

 技术图片

技术图片

 

 所以写3就可以  

 

还有一点注意这几个

技术图片

 

 

 

其实官方给咱们准备好了

技术图片

 

 

 

技术图片

 

 

好了可以清空脑子了   所以的到上面的文件去看就可以  想配置GPIO的复用功能

假设函数的有个参数是填写复用功能,假设配置GPIO12作为普通GPIO 就填 FUNC_GPIO12

作为SPI就填  FUNC_HSPIQ_MISO

 

 其实这是我纳闷的...我想实现PWM  难道不就是使用普通的GPIO  官方的API内部直接设置这个GPIO的寄存器的相应位置,让GPIO作为普通的不就完了...不明白...不明白...

还有第三个参数..

技术图片

就是

技术图片

 

 技术图片

 

 这个也是我纳闷的......给你了GPIO的寄存器地址了,直接操作寄存器不就可以了........why?????

假设控制GPIO5输出PWM

第一需要GPIO5的寄存器地址

技术图片

 

 

其实最全的是在 

技术图片

 

 

 第二个参数,,咱输出PWM肯定是让GPIO5作为普通输出,所以

技术图片

 

 第三个  填5就可以

uint32 pin_info_list[1][3]=PERIPHS_IO_MUX_GPIO5_U,FUNC_GPIO5,5;//引脚寄存器地址  复用功能   引脚标号GOIOXX  没有对应的#define GPIO5  5 的宏定义,所以直接5

 

 技术图片

 

以上是关于12-ESP8266 SDK开发基础入门篇--PWM,呼吸灯的主要内容,如果未能解决你的问题,请参考以下文章

7-ESP8266 SDK开发基础入门篇--串口处理数据,控制LED

20-ESP8266 SDK开发基础入门篇--C# TCP客户端编写 , 加入数据通信

26-ESP8266 SDK开发基础入门篇--编写WIFI模块 SmartConfig/Airkiss 一键配网

21-ESP8266 SDK开发基础入门篇--C# TCP客户端 , 控制LED亮灭

19-ESP8266 SDK开发基础入门篇--C# TCP客户端编写 , 连接和断开

28-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(官方API版,非RTOS版)