STC8A无人机驱动设计方案详解

军用/航空电子

369人已加入

描述

笑死,第三篇了都,好久都没有写这么多了,第三篇是我最近看的一个STC官网的小项目,一个无人机的项目,感觉代码写的很好,这里简单的分析一下。

gps

即没有GPS信号或GPS信号不佳的环境,飞控系统仅保持无人机姿态的平稳,无人机无法精准定位而呈现明显飘移。

通过一定的操纵,使飞机姿态运动符合飞行员意愿的可控飞行。

百度百科

gps

差不多就是这样

gps

电机的顺序

gps

电源是单片机和电调

gps

这就是连上了

gps

gps

留的排针接口

gps

这个是接收机的输入和电调的PWM输出

gps

IMU

gps

这个是电调控制输出

gps

PPM捕获

gps

航灯

gps

单独一个脚

gps

还有蜂鸣器

gps

gps

预留了一路串口

gps

完整Github上面见

gps

组装样子

gps

这些功能在源码里面都有

gps

实现的源码其实很少,就是几个文件而已,这里就不用keli了,太丑了

gps

gps

大概主文件里面的函数就是这些了

一般来说读源码的时候就是两个路子,一个是一步一步的跳转,还有就是看完驱动再跑主的。

我以前是第一种,但是感觉效率有点低,这里看的方法就是先驱动吧。

我们说51的时候都是在说着老土,过气什么的,但是你玩的精通又有几个,其次在STC里面也有了库的概念,这里就带你看一下。

gps

这个就是所谓的库文件

gps

SFR定义一些位置

gps

这谢是老版的51没有的,后面加的

gps

因为本身这个东西都没有很难,所以在封装库的时候也就是使用了宏定义了。名字是很好的,做到了见名字其意。

gps

带着注释很好的

gps

IO的使能

gps

还记得经典的定时器不?

51单片机定时器详细全解.上

51单片机定时器详细全解.下

快来补课呀!

不管怎么说,库开发是深入人心的,封装只是行为而已,我很很欣赏STC的精神的。

gps

就直面自己物美价廉这个事情

gps

gps

离谱

gps

反正友商是学不来

gps

PWMGO是PWM初始化

gps

这个是配置的文件

gps

延时函数内部使用的是时钟频率

gps

这个是STC定义的数据类型

gps

PWM的输出都是强推挽模式

gps

数据指针

gps

PWM时钟选择

gps

PWM的分频器

gps

这个是数据手册

gps

先配置寄存器,然后就是中断寄存位,异常检测,控制寄存器也打开

gps

软件置0

gps

这个是对单独的通道设置

gps

安排

gps

ADC是测量电压来的

gps

初始化

gps

中断标志

gps

这个就是计算值

gps

最重要的MPU6050传感器

gps

gps

里面的一些寄存器的位置

gps

初始化MPU6050

gps

里面的延时信号

gps

这个是IIC的数据定义引脚

gps

IIC的写入

gps

gps

一对儿信号

gps

gps

接收和回应

gps

gps

发送和接收

gps

很简单了

gps

这个就是起始信号了

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分