新建文件后以下操作:如图
arduino自己制作库文件的经历-2018/9/28
同理在创建一个.h的书签如图arduino自己制作库文件的经历-2018/9/28
最后效果如下两个书签的名字一定要一样。
arduino自己制作库文件的经历-2018/9/28
下边上三个文件夹的代码,详细讲解我过程中报错的原因。在代码里汉字提醒
主文件

#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有惊喜。
arduino自己制作库文件的经历-2018/9/28
之后新建文件夹 将 .cpp和.h 移动到 新建的文件夹中名字不要和原文件名重复
找到自己arduino安装位置 文件移动到//arduino//libraries中
这个是我的途径D:\Program Files (x86)\Arduino\libraries
文件夹放在libraries中
我的这个方法 每次调用前 除了有头文件外还要有实例化 。

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

相关文章:

  • 2021-04-10
  • 2022-01-04
  • 2022-12-23
  • 2022-12-23
  • 2021-10-31
  • 2021-11-24
  • 2021-06-25
  • 2021-09-09
猜你喜欢
  • 2021-04-26
  • 2022-12-23
  • 2021-11-20
  • 2021-12-25
  • 2022-12-23
  • 2021-11-17
  • 2021-06-22
相关资源
相似解决方案