arduino自己製作庫檔案的經歷-2018/9/28
阿新 • • 發佈:2018-12-12
新建檔案後以下操作:如圖 同理在建立一個.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操作。很難受。 就這麼多了,希望大佬多指點指點。