以摩斯电码为例为 Arduino 编写库


以摩斯电码为例为 Arduino 编写库

下面是一个简单的莫斯电码,使用Pin13 连接的LED 显示出来。
下面的代码是个简单的莫斯代码,运行的时候,会在Pin13 引脚的LED上显示SOS。

int pin = 13;
void setup()
{
pinMode(pin, OUTPUT);
}
void loop()
{
dot(); dot(); dot();
dash(); dash(); dash();
dot(); dot(); dot();
delay(3000);
}
void dot()
{
digitalWrite(pin, HIGH);
delay(250);
digitalWrite(pin, LOW);
delay(250);
}
void dash()
{
digitalWrite(pin, HIGH);
delay(1000);
digitalWrite(pin, LOW);
delay(250);
}

dot() 和 dash() 实际的执行闪烁LED指示灯。
头文件的核心是由库中的每个函数的一条线,在一个类中,以及任何需要用到的变量:

class Morse
{
public:
Morse(int pin);
void dot();
void dash();
private:
int _pin;
};

头文件的格式如下:

#ifndef Morse_h
#define Morse_h
// the #include statment and code go here...
#endif

本实例中的头文件如下:

// Morse.h - Library for flashing Morse code.
// Created by David A. Mellis, November 2, 2007.
// Released into the public domain.
#ifndef Morse_h
#define Morse_h
#include "Arduino.h"
class Morse
{
public:
Morse(int pin);
void dot();
void dash();
private:
int _pin;
};
#endif

写 Morse.cpp 文件


// Morse.cpp - Library for flashing Morse code.
// Created by David A. Mellis, November 2, 2007.
//Released into the public domain.
#include "Arduino.h"
#include "Morse.h"
Morse::Morse(int pin)
{
pinMode(pin, OUTPUT);
_pin = pin;
}
void Morse::dot()
{
digitalWrite(_pin, HIGH);
delay(250);
digitalWrite(_pin, LOW);
delay(250);
}
void Morse::dash()
{
digitalWrite(_pin, HIGH);
delay(1000);
digitalWrite(_pin, LOW);
delay(250);
}

主程序中,如下

#include 
Morse morse(13);
void setup()
{
}
void loop()
{
morse.dot(); morse.dot(); morse.dot();
morse.dash(); morse.dash(); morse.dash();
morse.dot(); morse.dot(); morse.dot();
delay(3000);
}
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章