查看: 2009|回复: 2
打印 上一主题 下一主题

为arduino编写库

[复制链接] qrcode

27

主题

33

帖子

101

积分

注册会员

Rank: 2

积分
101
楼主
跳转到指定楼层
发表于 2016-6-22 10:45 AM | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
下面是一个简单的莫斯电码,使用Pin13 连接的LED 显示出来。
下面的代码是个简单的莫斯代码,运行的时候,汇在Pin13 引脚的LED上显示SOS。
  1. int pin = 13;

  2. void setup()
  3. {
  4.   pinMode(pin, OUTPUT);
  5. }

  6. void loop()
  7. {
  8.   dot(); dot(); dot();
  9.   dash(); dash(); dash();
  10.   dot(); dot(); dot();
  11.   delay(3000);
  12. }

  13. void dot()
  14. {
  15.   digitalWrite(pin, HIGH);
  16.   delay(250);
  17.   digitalWrite(pin, LOW);
  18.   delay(250);
  19. }

  20. void dash()
  21. {
  22.   digitalWrite(pin, HIGH);
  23.   delay(1000);
  24.   digitalWrite(pin, LOW);
  25.   delay(250);
  26. }
复制代码
dot() 和 dash() 实际的执行闪烁LED指示灯。

头文件的核心是由库中的每个函数的一条线,在一个类中,以及任何需要用到的变量:
  1. class Morse
  2. {
  3.   public:
  4.     Morse(int pin);
  5.     void dot();
  6.     void dash();
  7.   private:
  8.     int _pin;
  9. };
复制代码
头文件的格式如下:
  1. #ifndef Morse_h
  2. #define Morse_h

  3. // the #include statment and code go here...

  4. #endif
复制代码

本实例中的头文件如下:

  1. //  Morse.h - Library for flashing Morse code.
  2. // Created by David A. Mellis, November 2, 2007.
  3. // Released into the public domain.
  4. #ifndef Morse_h
  5. #define Morse_h

  6. #include "Arduino.h"

  7. class Morse
  8. {
  9.   public:
  10.     Morse(int pin);
  11.     void dot();
  12.     void dash();
  13.   private:
  14.     int _pin;
  15. };

  16. #endif
复制代码

写 Morse.cpp 文件

  1. //  Morse.cpp - Library for flashing Morse code.
  2. // Created by David A. Mellis, November 2, 2007.
  3.   //Released into the public domain.

  4. #include "Arduino.h"
  5. #include "Morse.h"

  6. Morse::Morse(int pin)
  7. {
  8.   pinMode(pin, OUTPUT);
  9.   _pin = pin;
  10. }

  11. void Morse::dot()
  12. {
  13.   digitalWrite(_pin, HIGH);
  14.   delay(250);
  15.   digitalWrite(_pin, LOW);
  16.   delay(250);  
  17. }

  18. void Morse::dash()
  19. {
  20.   digitalWrite(_pin, HIGH);
  21.   delay(1000);
  22.   digitalWrite(_pin, LOW);
  23.   delay(250);
  24. }
复制代码

主程序中,如下

  1. #include <Morse.h>

  2. Morse morse(13);

  3. void setup()
  4. {
  5. }

  6. void loop()
  7. {
  8.   morse.dot(); morse.dot(); morse.dot();
  9.   morse.dash(); morse.dash(); morse.dash();
  10.   morse.dot(); morse.dot(); morse.dot();
  11.   delay(3000);
  12. }
复制代码








回复

使用道具 举报

10

主题

191

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
沙发
发表于 2016-6-22 10:46 AM | 只看该作者
加油啊,点赞点赞
回复 支持 反对

使用道具 举报

1

主题

65

帖子

9

积分

新手上路

Rank: 1

积分
9
板凳
发表于 2016-6-22 01:01 PM | 只看该作者
喔,给你一个赞
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表