Arduino编写C++类

来源:互联网 发布:php soap json 编辑:程序博客网 时间:2024/05/22 23:12

Arduino支持C/C++,理所当然的支持C++的class,
如果是经常要用到的类,可以把它们封装成类库,这里不介绍;
对于自己编写的不常用到的类,如何创建?
编写的方式有很多种,可以用C++的IDE来写,比如VS Studio、Eclipse、Code::Blocks等等,也可以用像Notepad、Notepad2、Source Insight等文本工具,
下面要介绍的方法是直接采用arduino的IDE,目的是帮助大家更加熟悉它。
Arduino的IDE支持多文件管理,因此我们可以利用它来编写类。

  • 打开Arduino,点击“New Tab”
    新建文件

弹出对话框
建立头文件
建立实现文件

以arduino接一个触碰传感器为例:

  • Button.h:
#ifndef _C_BUTTON_H_#define _C_BUTTON_H_#pragma once#include "Arduino.h"class Button{  public:    Button(void)    {      buttonPin = A0;      ledPin = 13;      buttonState = HIGH;    }    ~Button(void){}     int buttonPin;     int ledPin;     int buttonState;     void buttonFun(int buttonpin,int ledpin);};#endif
  • Button.cpp:
#include "Button.h"/*------------------------------- *Function:lighten LED while measuring button *------------------------------- */void Button::buttonFun(int buttonpin,int ledpin){  buttonState = digitalRead(buttonpin);  if(buttonState ==LOW)  {    digitalWrite(ledpin,HIGH);  }  else  {    digitalWrite(ledpin,LOW);  }}

主程序:

#include "Button.h"Button Bt;void setup(){  pinMode(Bt.ledPin,OUTPUT);  pinMode(Bt.buttonPin,INPUT);}void loop(){  Bt.buttonFun(Bt.buttonPin,Bt.ledPin);}

写完之后,我们打开文件夹,便可以看到类的所有文件跟主程序文件在一起。
这点跟库不一样,库文件是必须存放在libraries下面的与库名相同的文件夹下面。
文件
这种方式的好处就是可以在同一个平台下立即编译.

0 0
原创粉丝点击