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

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ù) 返回頂部 返回列表
欧美日韩无卡一区二区| 日韩一区二区三区观看| 亚洲中文字幕高清乱码毛片| 国产高清三级视频在线观看| 亚洲免费黄色高清在线观看| 日本办公室三级在线观看| 日韩精品你懂的在线观看| 欧美韩日在线观看一区| 欧美日韩免费观看视频| 亚洲一区二区欧美在线| 亚洲高清中文字幕一区二三区| 一二区不卡不卡在线观看| 成人欧美精品一区二区三区| 亚洲中文在线男人的天堂| 亚洲男女性生活免费视频| 久久精品久久精品中文字幕| 国产传媒中文字幕东京热| 国产在线视频好看不卡| 国产一级不卡视频在线观看| 在线视频三区日本精品| 丰满少妇被猛烈撞击在线视频| 国产一区欧美一区日韩一区| 又大又紧又硬又湿又爽又猛| 成人亚洲国产精品一区不卡| 欧美性猛交内射老熟妇| 亚洲成人黄色一级大片| 一区二区三区亚洲天堂| 欧美日韩国产综合在线| 国产精品欧美一级免费| 久久精品中文扫妇内射| 大尺度激情福利视频在线观看| 欧洲亚洲精品自拍偷拍| 国产一区日韩二区欧美| 亚洲精品美女三级完整版视频| 欧美日韩国产精品黄片| 午夜免费精品视频在线看| 日韩精品视频一二三区| 丝袜诱惑一区二区三区| 国产成人精品久久二区二区| a久久天堂国产毛片精品| 欧美激情中文字幕综合八区|