PPM.Write()

来自Microduino Wikipedia
Wasdpkj@hotmail.com讨论 | 贡献2017年7月26日 (三) 08:46的版本 (创建页面,内容为“{| style="width: 800px;" |- | <p style="color: #666666;font-size:220%">'''PPM.Write(byte Channel, int Value)'''</p> <br> <p style="color: #E87E05;font-size:135%">描...”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

PPM.Write(byte Channel, int Value)


描述

设置PPM的各个通道的数值

参数

  • Channel:设置通道
  • Value:设置通道数值,1000到2000,中点1500

返回值

示例

// LICENSE: GPL v3 (http://www.gnu.org/licenses/gpl.html)
// ==============

// 版权所有:
// @老潘orz  wasdpkj@hotmail.com
// ==============

/*
  PPM接收例程
  PPM是航模中较常用的一个协议,通过一个I/O口,可以以50hz的频率收发8通道的数据
  详见:https://github.com/wasdpkj/Microduino-IDE-Support/tree/master/arduino-ide-Support/%5B1.6.x%5D-hardware(library)/hardware/Microduino/avr/libraries/_09_m_Data_PPM/PPM.png
  PPM接收到的数据,有效数值范围为1000到2000
  其中中点为1500
  PPM发送引脚可以是任意引脚
  本例程作用:发送8通道PPM数据
*/

#include <Microduino_PPM.h>

PPM PPM;

#define OUTPUT_PIN 2
#define CHAN_NUM  8

uint16_t value[8] = {
  128, 256, 384, 512, 128, 256, 384, 512
};

void setup () {
  Serial.begin(115200);
  PPM.beginWrite(OUTPUT_PIN, CHAN_NUM);  //引脚,通道数(不填默认8)
  PPM.setFix(-5);    //发送数据修正,单位us
}

void loop () {
  for (int i = 0; i < CHAN_NUM; i++) {
    int pulseWidth = map(value[i], 0, 1023, 1000, 2000);
    PPM.Write(i, pulseWidth);	//数值范围须为1000到2000之间
  }
  delay(20);
}


其他



返回PPM_Reference页面