Arduino自己封装库
2016-03-25 20:05
483 查看
导言:以封装一个简单的LED库为例,当然这个库是没有必要的,这是测试!! OK ,Let's Start!
1、新建一个文件夹:LED
在LED文件夹下创建examples文件夹、keywords.txt文件、LED.cpp文件和LED.h文件
2、编写LED.h 。。。。。。其实就是创建一个LED的类:
#ifndef LED_H
#define LED_H
#include "arduino.h"
class LED
{
public:
LED(int pin);
void on();
void off();
private:
int pin;
};
#endif
3、编写LED.cpp 。。。。。。填充那个类
#include"led.h"
LED::LED(int pin)
{
pinMode(pin,OUTPUT);
this->pin=pin;
}
void LED::on()
{
digitaWrite(pin,HIGH);
}
void LED::off()
{
digitaWrite(pin,LOW);
}
4、在examples文件夹下创建LED文件夹然后在LED文件夹下创建LED.ino文件、然后编写此文件。。。。。。。。。测试自己的程序。。。。一个demo
#include "LED.h"
LED led(13);
void setup()
{
}
void loop()
{
led.on();
delay(1000);
led.off();
delay(1000);
}
5、文件编写完成。。。。。。少了点东西好像,,,,那个keywords.txt没写,,,随便填充吧。。。。。。哈哈哈
最后将整个文件夹丢到arduino IDE 的libraries目录下,OK。。。打开IDE,可以看到我们编写的工程了,打开测试一下吧!!
1、新建一个文件夹:LED
在LED文件夹下创建examples文件夹、keywords.txt文件、LED.cpp文件和LED.h文件
2、编写LED.h 。。。。。。其实就是创建一个LED的类:
#ifndef LED_H
#define LED_H
#include "arduino.h"
class LED
{
public:
LED(int pin);
void on();
void off();
private:
int pin;
};
#endif
3、编写LED.cpp 。。。。。。填充那个类
#include"led.h"
LED::LED(int pin)
{
pinMode(pin,OUTPUT);
this->pin=pin;
}
void LED::on()
{
digitaWrite(pin,HIGH);
}
void LED::off()
{
digitaWrite(pin,LOW);
}
4、在examples文件夹下创建LED文件夹然后在LED文件夹下创建LED.ino文件、然后编写此文件。。。。。。。。。测试自己的程序。。。。一个demo
#include "LED.h"
LED led(13);
void setup()
{
}
void loop()
{
led.on();
delay(1000);
led.off();
delay(1000);
}
5、文件编写完成。。。。。。少了点东西好像,,,,那个keywords.txt没写,,,随便填充吧。。。。。。哈哈哈
最后将整个文件夹丢到arduino IDE 的libraries目录下,OK。。。打开IDE,可以看到我们编写的工程了,打开测试一下吧!!
相关文章推荐
- hdu4027 Can you answer these queries?(线段树)
- UItableView 或者UIcollectionview,点击cell时,无反应,
- frequent code on IOS
- a value of type "const struct Menu * "cannot be assigned to an entity of type "struct Menu"
- ACM程序设计选修课——1051: Glamor Sequence(YY+求和公式)
- leetcode——225—— Implement Stack using Queues
- POJ 2299 Ultra-QuickSort(逆序对数,线段树/树状数组/归并排序)
- requests模拟ajax异步请求
- Hbuilder 常用快捷键汇总
- 多线程——NSOperationQueue
- mui关于页面间传值的方法
- 关于如何修改UISearchBa灰色背景
- Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之Fragment创建
- Requirements 101: User Stories vs. Use Cases
- Handler原理笔记
- ggplot2快速教程Quick Introduction to ggplot2
- poj 2081 Recaman's Sequence
- Web 快速开发框架 WebBuilder 7 发布
- multidex导入至build失败问题
- lintcode: Implement Queue by Two Stacks