FlySky-i6x源码-AFHDS 2A
AFHDS 一代协议(FlySky)
FlySky - i6X 遥控器输出PPM信号
FS-i6X刷OpenTX(恢复到原始固件)
以上是以前的文章,此外代码经过分离,我上传到了不同的代码仓库。大家可以去看。
里面有汇编的启动代码,这里推荐这个插件
我其实想找下遥控器拆一下,看看里面的芯片,但是就是找不到了,也不知道我妈给我放哪里了。
我们来想一下,如何看这份源码,我想应该去看一下说明书:
支持2代协议的有这些
FS- i6X是一款支持固定翼/滑翔机/直升机模式的发射机。搭载AFHDS2A协议,最大支持10通道DIY拓展,具备USB模拟器功能。
可以去FCC看看
两份
这个看图是I6的照片
拆开的电路图
芯片
贴纸
协议一个简单的介绍
天线的位置
系统的特性
控制的按键
I6使用的是,NXP的 i6X使用的是STM32的
解惑了
我这样提交会被打吗?
芯片的配置
看这里就行
LCD的引脚配置
引脚树
ADC测量的IO
GPIO的寄存器
蜂鸣器
配对
PPM信号的输入和输出
射频芯片,主要是集中在GPIOE上面
使用的定时器函数
这个是16KHz的定时器
生成PPM的
第六个定时器是设计用来阶段的发送协议的活动包
LCD控制的初始化
用到了位定义
接着是要初始化控制的引脚
下面是ADC
这里是单个寄存器位置的定义
断电储存的功能
和射频芯片之间是SPI链接
这个是执行AD的转换
转换完以后写入到一个数组里面
灯光的亮灭
BSRR是置位寄存器位置
这是屏幕的控制,都置位
LCD屏幕的数据发送函数
上下,OK,取消
SPI数据是一位一位的输出
DR是SPI的数据寄存器
SPI的状态
传输缓冲区为空
编程就是状态的转换。
状态位的意思
单个的意思
SPI接收一个数据快
射频模块
代码语言:javascript复制https://www.st.com/en/microcontrollers-microprocessors/stm32f072vb.html
代码语言:javascript复制https://apps.fcc.gov/eas/GetApplicationAttachment.html?id=3044497
代码语言:javascript复制https://www.flyskytech.com/u_file/photo/20200226/FS-i6X使用说明书20171108.pdf
代码语言:javascript复制https://apps.fcc.gov/eas/GetApplicationAttachment.html?id=4791344
代码语言:javascript复制https://apps.fcc.gov/oetcf/eas/reports/GenericSearchResult.cfm?RequestTimeout=500
代码语言:javascript复制https://www.flyskytech.com/products/
代码语言:javascript复制https://www.flyskytech.com/products_detail/37.html