arduino自己制作库文件的经历-2018/9/28

新建文件后以下操作:如图
在这里插入图片描述
同理在创建一个.h的书签如图在这里插入图片描述
最后效果如下两个书签的名字一定要一样。
在这里插入图片描述
下边上三个文件夹的代码,详细讲解我过程中报错的原因。在代码里汉字提醒
主文件

#include "GAME.h"
GAME we;//实例化 一定不能少   直接用的话标签名的话 报错 we可随意改注意保持上下一样即可
void setup() 
{  
  we. part_init();
   Serial.begin(9600);
}
void loop() 
{ 
 char inChar = (char)Serial.read();
 char  cha;int i;
   if (inChar == '1') 
    {
      we.arrows_create(33,18,23,28); //实例化的名.函数名  中间有点
      we.arrows_delete(49,34,39,44);
      we.arrows_delete(65,50,55,60); i=1;  inChar='a';  
    }
 if (inChar == '2') 
    {
       we.arrows_create(49,34,39,44);
       we.arrows_delete(33,18,23,28);
       we.arrows_delete(65,50,55,60);
         i=2;
        inChar='b';
    }
    if (inChar == '3') 
    {
        we.arrows_create(65,50,55,60);
        we.arrows_delete(49,34,39,44);
        we.arrows_delete(33,18,23,28);

         i=3;
        inChar='c';
    }
    if(inChar == '4'&& i == 1 )
       { 
        RSCG12864B.clear();
       }
  
     
}

.cpp的代码

#include"GAME.h"
#include <RSCG12864B.h>//注意位置
#include "Arduino.h"//一定不能少
void GAME::part_init()//函数都是这样        标签名字::想创的函数名   中间两个冒号
{
  
   RSCG12864B.begin();//串口初始化
   RSCG12864B.brightness(255);//
   char c1[]={0xCD,0xF5,0xD5,0xDF,0xC8,0xD9,0xD2,0xAB,0,};//
   char c2[]={  0xD0, 0xC2,0xB5, 0xC4,0xD5, 0xF7,0xB3,0xCC,0,};//
   char c3[]={0xC7,0xB0,0xCA,0xC0,0xD6,0xAE,0xC2,0xC3,0,};//
   char c4[]={0xCD,0xCB,0xB3,0xF6,0xD3,0xCE,0xCF,0xB7,0,};//
   char c5[]={0XD6,0XA7,0XB3,0XD6,0X32,0X44,0XBB,0XE6,0XCD,0XBC,0};//
   RSCG12864B.print_string_16_xy(32,0,c1);//
   RSCG12864B.print_string_12_xy(40,20,c2);//
   RSCG12864B.print_string_12_xy(40,36,c3);//
   RSCG12864B.print_string_12_xy(40,52,c4);//
}
void GAME::arrows_create(int q,int m,int n,int a)
{
  int i,y;
  RSCG12864B.draw_fill_rectangle(22,n,31,a);
   for(i=31;i<=37;i++)
   { q=q-1;m=m+1;
    for(y=m;y<=q;y++)
   RSCG12864B.draw_line(i,m,i,y);//18,33
   }
}
void GAME::arrows_delete(int q,int m,int n,int a)
{   int i,y;
   RSCG12864B.delete_fill_rectangle(22,n,31,a);
   for(i=31;i<=37;i++)
   { q=q-1;m=m+1;
    for(y=m;y<=q;y++)
   RSCG12864B.delete_line(i,m,i,y);
   }
}

.h代码

#ifndef _GAME_H__
#define _GAME_H__
#include <RSCG12864B.h>//这个我调用里边函数了,库文件在我博客里12864B i2c里 你们自制可以不加
#include"Arduino.h"  //一定有不能删

class GAME//换自己的标签名
{
private://函数内部用  是冒号不是分号

public://函数外部用  是冒号不是分号
void part_init();//到这里标签名不写,直接写函数名
void arrows_create( int q,int m,int n,int a);
void arrows_delete(int q,int m,int n,int a);
};//分号不要忘

#endif

下边是我的代码效果图串口监视发送 1 2 3 4有惊喜。
在这里插入图片描述
之后新建文件夹 将 .cpp和.h 移动到 新建的文件夹中名字不要和原文件名重复
找到自己arduino安装位置 文件移动到//arduino//libraries中
这个是我的途径D:\Program Files (x86)\Arduino\libraries
文件夹放在libraries中
我的这个方法 每次调用前 除了有头文件外还要有实例化 。

实例化 其实可以省 ,楼主看不懂 keyword.txt操作。很难受。
就这么多了,希望大佬多指点指点。

  • 30
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值