前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ESP8266无人机-PWM模块

ESP8266无人机-PWM模块

作者头像
云深无际
发布2022-03-17 14:12:57
5870
发布2022-03-17 14:12:57
举报
文章被收录于专栏:云深之无迹云深之无迹

关于ESP8266小飞机的设计和源码解读开始了!

8266的数据总线

一些设计指南

因为IIC传感器很多,这里也看一下

因为对于ESP8266来讲,纯的Arduino开发其实没有那么多,所以要结合底层看。

管脚定义先看

i的意思感觉是内部的意思,就是加载到内存的意思,我说这样理解的

ESP8266的开发有两个,NoOS,RTOS,我一开始以为Arduino是NoOS的,但是我错了,其实是RTOS实现的。

因为出现了很多的PWM的使用,所以一开始我们就先睹为快。

在RTOS的这个位置。

所有的API,也就是调用这些

随便看个头,PWM的启动

PWM的初始化

也对esp_err_t感兴趣,在这里有定义

我觉得我们可以看下NoOS里面的API再看RTOS的。

是软件实现的,还有不可屏蔽的中断

这打太极的写法,软件算法

这是PWM的参数,这肯定够我玩耍了

代码实例

先不要追究最上面的结构体是什么,先可以看具体函数的作用。PWM的初始化,开启PWM,设置占空比,获取占空比,设置频率,得到频率。

配置几路,这个参数会传到这个地方

可以看一下PWM的初始化配置。周期,各通道的占空比。传入的通道数,引脚引脚的硬件参数。

我们结合飞控看看怎么配置的:

要用的参数都用宏写好,四旋翼是4个通道,使用4,寄存器上面也要写好

这个结构体的写的是GPIO的寄存器,对应PIN脚的IO复用值,GPIO的序号。是一个n x 3的数组指针。

4通道还是

包括处理器也有自己独特的数据封装

开始初始化的配置

注意看PWM_init()函数的参数。

使用for循环将各通道的占空比参数都设置

设置周期

设置占空比

其实还有一些东西没有说明白。

就这些,其实对于写文章来讲,我现在完全可以就写下面的,但是为了学习的需要,这里就再具体的写。

文档要看技术参考

这个寄存器的名字叫,功能选择寄存器

有一个Excel的REG表,第一个就是

大概就是这样的设计方法,在一个MUX上面按照顺序排寄存器

第二个参数是在寄存器的组里面选第三个IO的功能,就是说这个脚上面可以有这么多的功能,现在用第三个的意思。

就是这样,注意到reg是0定义,所以功能记得+1

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档