|
fryefryefrye 发表于 2013-8-25 08:41 ![](static/image/common/back.gif)
你这个程序要写在一块单独的CPU上面,一头连着NRF,一头输出PPM给飞控。
我有过这个想法,一个用arduino nano做发送,别一个nano做接收,那接收这头的线怎么连呢?
#include "Wire.h" //LCD1602 IIC 库文件
#include "SPI.h" //24L01库文件
#include "Mirf.h"
#include "nRF24L01.h"
#include "MirfHardwareSpiDriver.h"
int data;
int aaa;
int bbb;
int ccc;
int ddd;
int eee;
int fff;
void setup(){
Mirf.spi = &MirfHardwareSpi; //加载24L01 SPI
Mirf.init();
Mirf.setRADDR((byte *)"serv1"); //接收地址" "
Mirf.payload = sizeof(int); //数据类型(整数)
Mirf.config();
}
void loop(){
if(Mirf.dataReady()){ //如果接收到数据则执行
Mirf.getData((byte *)&data); //接收数据
if (data>=0&&data<=999)
{
aaa=map(data,0,999,1100,1900); //这里为模拟量比例成 PPM频率 1100-1900,
}
if (data>=1000&&data<=1999)
{
bbb=map(data,1000,1999,1100,1900);
}
//ccc~fff自己写吧....
Mirf.rxFifoEmpty(); //清理24L01援存??
}
}
这个是我找到的接收的程序,要是做接收发到MWC,那后面应该修改下程序的吧,也不知道应该怎么改
|
|