国产猛男猛女超爽免费视频,国产精品一区二区不卡小说,免费调教小骚货视频,欧美日韩亚洲免费一区

Arduino教程(提高篇)——編寫擴展庫 

2017-01-06 11:26
Arduino教程.webp
arduino教程(提高篇)——編寫擴展庫

鑒于很多童鞋對擴展庫的喜好,并對它不清楚,作者談?wù)勛约旱膶W(xué)習(xí)心得,望大家一起學(xué)習(xí),共同進步。首先以自己之前編寫的小車的程序為例子:(個人不喜歡像寫arduino程序那樣,每種參數(shù)都在最前面來個宏定義什么的,呵呵~~~)
  1. 1.        void run(char pin1,char pin2,char pwmpin,char state,int val)
  2. 2.        {
  3. 3.          pinMode(pin1,1);
  4. 4.          pinMode(pin2,1);
  5. 5.           pinMode(pwmpin,1);
  6. 6.        if(state)
  7. 7.        {  
  8. 8.          analogWrite(pwmpin,val);
  9. 9.          digitalWrite(pin1,1);
  10. 10.          digitalWrite(pin2,0);
  11. 11.        }
  12. 12.        else
  13. 13.        {  
  14. 14.          analogWrite(pwmpin,val);
  15. 15.          digitalWrite(pin1,0);
  16. 16.          digitalWrite(pin2,1);
  17. 17.        }
  18. 18.        }
  19. 19.        
  20. 20.        void setup()
  21. 21.        {
  22. 22.        }
  23. 23.        void loop()
  24. 24.        {
  25. 25.          run(12,13,11,1,150);
  26. 26.          run(8,9,7,1,150);
  27. 27.          delay(2000);
  28. 28.          run(12,13,11,0,150);
  29. 29.          run(8,9,7,0,150);
  30. 30.          delay(2000);
  31. 31.        }
復(fù)制代碼
好吧,我們這就開始擴展庫的編寫,第一步用記事本新建一個cpp主文件,命名為Motor1.cpp  
  1. 1.        #include <WProgram.h>   
  2. 2.        #include "motor1.h"    //include后面加空格(注意這些小細節(jié))
  3. 3.        
  4. 4.        motor1::motor1()
  5. 5.        {
  6. 6.        }                            //建一個構(gòu)造函數(shù),當(dāng)然也可以帶參數(shù)
  7. 7.        void motor1::run(char pin1,char pin2,char pwmpin,char state,int val)    //建一個帶參數(shù)的子函數(shù) pin1 pin2輸入高低電平引腳
  8. 8.        {                                                                                          //pwmpin為PWM輸入引腳,state為正反轉(zhuǎn),va為l輸入調(diào)速值0~255
  9. 9.          pinMode(pin1,1);
  10. 10.          pinMode(pin2,1);
  11. 11.           pinMode(pwmpin,1);
  12. 12.        if(state)
  13. 13.        {  
  14. 14.          analogWrite(pwmpin,val);
  15. 15.          digitalWrite(pin1,1);
  16. 16.          digitalWrite(pin2,0);
  17. 17.        }
  18. 18.        else
  19. 19.        {  
  20. 20.          analogWrite(pwmpin,val);
  21. 21.          digitalWrite(pin1,0);
  22. 22.          digitalWrite(pin2,1);
  23. 23.        }
  24. 24.        }
復(fù)制代碼
第二步,編寫.h文件   同樣用記事本新建一個.h文件命名為Motor1.h
  1. 1.        [mw_shl_code=cpp,true]#ifndef  MOTOR1_H_
  2. 2.        #define MOTOR1_H_   //防止重復(fù)包含
  3. 3.        class motor1
  4. 4.        {
  5. 5.        public:                      //共有部分
  6. 6.              motor1();
  7. 7.              void run(char pin1,char pin2,char pwmpin,char state,int val);     //假如motor1()或run()里定義了變量,就得寫出私有部分                                
  8. 8.        };                                                                                                     //private:相應(yīng)的變量。所謂私有,就是不能給用戶調(diào)用的。
  9. 9.        #endif[/mw_shl_code]
復(fù)制代碼
第三步 建個keywords.txt文件  里面寫出關(guān)鍵字  就是里面的公有部分函數(shù)等··
  1. 1.        motor1        KEYWORD1
  2. 2.        run        KEYWORD2
復(fù)制代碼
記得KEYWORD與motor之間用tab,不是空格。

完成這三步后,就將Motor1.cpp  Motor.h  keywords.txt三個文件放在一個新建文件夾Motor1里面,再將Motor1文件夾放在Arduino根目錄libraries目錄下面。這樣你就可以重啟arduino的IDE,使用你的擴展庫了。
  1. 1.        #include <Motor1.h>
  2. 2.        void setup()
  3. 3.        {}
  4. 4.        void loop()
  5. 5.        {
  6. 6.        motor1 c;
  7. 7.        c.run(12,13,11,1,150);
  8. 8.          c.run(8,9,7,1,150);
  9. 9.        delay(2000);
  10. 10.        c.run(12,13,11,0,150);
  11. 11.          c.run(8,9,7,0,150);
  12. 12.          delay(2000);
  13. 13.        
  14. 14.        }
復(fù)制代碼
之前遇到過的困難就是:如果擴展庫里包含得有其他擴展庫,例如我擴展庫里面用到了軟串口庫SoftwareSerial就一定要在你使用之前,在arduino的IDE里面不僅要包含你自己編的擴展庫,還得包含軟串口庫(就假如會在#include <Motor1.h>下面加一句#include <SoftwareSerial.h>)
聲明:3D打印資源庫(3dzyk)內(nèi)網(wǎng)友所發(fā)表的所有內(nèi)容及言論僅代表其本人,并不代表3D打印資源庫(3dzyk)觀點和立場;如對文章有異議或投訴,請联系kefu@3dzyk.cn。
標(biāo)簽:
Arduino教程(提高篇)——編寫擴展庫 
快速回復(fù) 返回頂部 返回列表
白嫩美女娇喘呻吟高潮-久久一区二区三区日产精品| 午夜日韩精品在线视频-亚洲网老鸭窝男人的天堂| 国产黄污网站在线观看-成人av电影中文字幕| 蜜臀一区二区三区精品在线-99久久久精品免费看国产| 蜜臀av日日欢夜夜爽一区-av在线免费永久播放| 深夜三级福利在线播放-日韩精品一区二区在线天天狠天| 国产欧美成人精品第一区-日本黄色精品一区二区| 99久久精品一区二区成人-麻豆国产av玩弄放荡人妇系列| 亚洲av综合av一区东京热-黄页免费视频网站在线观看| 欧洲精品一区二区三区中文字幕-91久久国产综合久久蜜月精品| 在线成色中文综合网站-国产二区精品视频在线观看| 欧美精品啪啪人妻一区二区-嫩草人妻舔舔羞羞一区二区三区| 欧美字幕一区二区三区-好吊妞欧美一区二区在线观看| 欧美伦乱淫老妇女激情吧-亚洲女邻居精品二区久久| 中文字幕日韩精品不卡一区二区-成人av在线观看一区二区| 午夜精品午夜福利在线-内射无套内射国产精品视频| 男人的天堂久久精品激情-最新亚洲精品a国产播放| 午夜福利院免费在线观看-久久精品日产第一区二区三区画质| 亚洲国产中文欧美一区二区三区-国产精品一区二区视频成人| 欧美一区二区三区调教视频-三上悠亚国产精品一区二区三区| 一级小黄片在线免费看-亚洲欧美午夜情伊人888| 中文字幕日韩精品不卡在线一区-国产tv日韩在线观看视频| 日本亚洲精品中字幕日产2020-很黄很黄的裸交视频网站| 国产黄污网站在线观看-成人av电影中文字幕| 国产成人精品亚洲精品密奴-国产成人AV无码精品| 欧美伦乱淫老妇女激情吧-亚洲女邻居精品二区久久| 黄色美女网站大全中文字幕-欧美韩国日本一区二区| 国产精品美女在线网址-久草免费福利在线观看视频| 日韩精品人妻系列一区-亚洲女同性一区二区三区| sobo欧美在线视频-免费av网址一区二区| 国产小黄片高清在线观看-涩涩鲁精品亚洲一区二区| 天天干天天日天天射天天舔-精品香蕉视频官网在线观看| 欧美精品一区二区不卡-精品国产一区二区三区香蕉网址| 欧美精品国产白浆久久正在-国产精彩视频一区二区三区| 亚洲黑人欧美一区二区三区-亚洲一区二区三区免费视频播放| 亚洲av综合av一区东京热-黄页免费视频网站在线观看| 久久高清超碰av热热久久-国产高清不卡免费视频| 国产亚洲欧美一区91-亚洲欧美一区二区在线| 午夜福利1区2区3区-午夜洗澡免费视频网站| 在线国产自偷自拍视频-蜜桃a∨噜噜一区二区三区| 97人妻精品一区二区三区爱与-日韩精品亚洲专区在线观看|