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

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成人在线播放| 大屁股肥臀熟女一区二区视频| 国产精品日韩精品最新| 亚洲综合激情另类专区老铁性| 欧洲日本亚洲一区二区| 91爽人人爽人人插人人爽| 亚洲欧美日韩熟女第一页| 欧美日韩有码一二三区| 丝袜av一区二区三区四区五区| 午夜精品在线视频一区| 精品女同在线一区二区| 欧美亚洲美女资源国产| 日韩高清一区二区三区四区| 99一级特黄色性生活片| 一本久道久久综合中文字幕| 欧洲自拍偷拍一区二区| 欧美自拍偷自拍亚洲精品| 国产av一区二区三区久久不卡| 夫妻性生活真人动作视频| 亚洲在线观看福利视频| 国产亚洲不卡一区二区|