多协议模块-Bayang协议(NRF24L01芯片)我以前写过以前一篇文章,大家可以先看一下。
这篇文章没有什么章法可言,就是一个单纯的记录
多协议模块:(DIY-Multiprotocol-TX-Module),我使用DMTM代替
不敢相信这样的一个项目是Arduino移植的,它完成了这样一个目标,你一个遥控器可以控制非常多的RC模型,因为各家的协议各种各样,避免一个模型一个遥控器。
每次都想放这个图出来
https://github.com/benlye/flash-multi/releases/tag/0.6.1
除了使用官方的刷写工具,也可以使用Arduino去编译烧录。
工具
https://github.com/pascallanger/DIY-Multiprotocol-TX-Module/releases
在这里可以下载到最新的固件,大部分都是新协议,大家有需要的可以去看看
如果使用Arduino编译,打开以后点我图中高亮的文件
会打开这个,如果太多文件找不到,可以点右上出现
如果你不会编译,而恰好有个多协议的固件,可以去官网下载编译号的hax文件然后使用。
这里是选择的DIY的328P芯片
选择的时候会出现这个,我要的就是这个
https://downloads.multi-module.org/
下载的位置
我们有这个Arduino Pro 和 A1705,NRF芯片就可以做了
这是刷写BL文件时候的连线
我目标就是做一个这样的东西,我只是为了研究协议而已。
电路图
在这里,BL文件
里面是已经做好的HAX文件
其实这个项目不是从头开始的,而是:
https://deviationtx.com/
这个项目的重写版本,很不错!
在源文件里面有个config的配置文件,使用宏来控制功能的开关
这里改通道顺序
翻转通道方向,现在关
启用
上电自动绑定
芯片的设置
如果你使用了我下面这个芯片,上面的协议会启用
10块钱。。。有点贵
这里有个有趣的事情,FlySky有两个协议,一代和二代。
AFHDS2A这是二代的名字,你认为一代是AFHDS吗?
就是我们可能是这样想的,其实不是,在定义里面FLYSKY_A7105_INO
这就是一代的名字,我觉得是这样的。
这里也说明这个了,这里可以看我的伟力V-L W959遥控器(使用富斯一代协议接收机)这个文章里面的一些一代协议的解读了。
这里也有
很有趣,估计就我研究这个了。
对应的将芯片的功能封装了函数
PPM的接收IO
A7105的引脚连接
Bind连接
还有很多有趣的宏
可以读取到ATMEL和STM32 的引脚定义
这里我看一个Bayang的协议,多协议模块-Bayang协议(NRF24L01芯片),也可以提前看看。
一开头就是一个宏
看看这里有没有被定义
这个头不太懂
看这个好像是这个芯片是接收机,可以使用:
这两个去控制
后面的文件就是对这个芯片的控制命令
我推测的没有错
36元空心杯飞控Beecore Lite(Silverware固件)在这篇文章里面应该有写这个。
没错,我写过
协议的封装就这么多
unused的意思是,即使后面这个函数没有使用,编译也不报错
这是协议的初始化,读一下,一开始的函数就是上面哪个,RF的初始化
我看不懂大量的_BV是什么意思
是这个的意思,BV=位值
看这个,说实话,没看懂
我后面初始化,没看懂,,,
抱歉了,看不懂了。。。我再理解下代码来看。