如何优雅的为Arduino写库文件

March 13, 2016, 10:30 a.m.

  • 文件结构

    • arduino根目录下库文件夹libraries中新建库文件夹如lalala

    • 库文件夹lalala建立lalala.cpp 、lalala.h、keywords.txt三个文件


  • lalala.cpp

#include "lalala.h"      //include后面加空格(注意这些小细节)
lalala::lalala()       //建一个构造函数,当然也可以带参数,注意两个冒号
{
}                      
//然后定义一些函数
//一些函数
//如下,注意函数名格式为:返回格式 库名::函数名(参数)
float MPU6050_converse::one_accle_to_angle(int16_t *accle,float Q)
{
     float angle;
     angle = (*accle - Q) / 16384.0;     
     angle = angle * 1.54 * 180 / 3.14;     
     return angle;
}


  • lalala.h

#ifndef  __LALALA_H__
#define __LALALA_H__      //防止重复包含
#ifndef __arm__         //定义有关联的其他库
#include <avr/pgmspace.h>
#endif
class lalala
{
    public:                      //共有部分,相当于声明cpp中的所有函数,
      lalala();                    //注意声明库文件本身
      void run(char pin1,char pin2,char pwmpin,char state,int val);      
       //假如motor1()或run()里定义了变量,就得写出私有部分                                
};      //private:相应的变量。所谓私有,就是不能给用户调用的。                                                                           
#endif


  • keywords.txt

motor1        KEYWORD1  //写出关键字,也就是里面公有部分函数等
run        KEYWORD2    //关键字和KEYWORD之间用Tab隔开而不是空格


  • 主文件中调用库及其函数

#include "lalala.h"   //引入头文件
lalala A;        //将lalala这个类实例化,实例为A
A.one_acle_to_angle(); //调用库函数




评论(0)

评论暂缺

添加新评论