新建文件后以下操作:如图
同理在创建一个.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操作。很难受。
就这么多了,希望大佬多指点指点。