• 您現在的位置是:首頁 >精選問答 > 2024-01-14 02:12:33 來源:

    arduino編程從入門到進階實戰(arduino編程)

    導讀 大家好,我是小夏,我來為大家解答以上問題。arduino編程從入門到進階實戰,arduino編程很多人還不知道,現在讓我們一起來看看吧!arduino...

    大家好,我是小夏,我來為大家解答以上問題。arduino編程從入門到進階實戰,arduino編程很多人還不知道,現在讓我們一起來看看吧!

    arduino編程語言入門:

    1. 關鍵字

    語法符號:

    ;

    ;是一條語句結束的標志,供編譯器識別,必須得有。

    {}

    {}將多條語句合成一個復合語句,能劃分語句的作用域,增強整體整體的可讀性。

    //

    //行注釋,該行//后的所有語句,文字將不被編譯器所編譯、執行。相似的,還有,在中的所有語句,文字將不被編譯器所編譯、執行。

    if(表達式)

    {

    語句A;

    }

    if(表達式1)

    {

    語句1;

    }

    else if(表達式2)

    {

    語句2;

    }

    ...

    else if(表達式n)

    {

    語句n;

    }

    else

    {

    語句n+1;

    }

    for(初始表達式;條件表達式;循環變量表達式)

    {

    循環體語句;

    }

    switch(表達式)

    {

    case 表達式常量1:語句序列1;

    case 表達式常量2:語句序列2;

    ...

    case 表達式常量i:語句序列i;

    case 表達式常量n:語句序列n;

    default:語句序列n+1;

    }

    while(條件表達式)

    {

    循環語句;

    循環變量表達式;

    }

    do

    {

    循環體語句;

    }while(條件表達式);

    break;

    continue;

    return x;

    goto 語句標號;

    2. 數據類型:

    3. 常量

    HIGH | LOW 表示數字IO口的高低電平。HIGH 表示高電(1),LOW 表示低電平(0)。

    INPUT | OUTPUT 表示數字IO口的方向,INPUT 表示輸入(高阻態),OUTPUT 表示輸出(AVR單片機能提供5V電壓 40mA電流)。

    true | false true 表示真(1),false表示假(0)。

    4. 程序結構

    聲明變量及接口名稱(例如:int i;int ledPin=13;)。

    void setup() 函數在程序開始時使用,初始化變量,管腳模式,調用庫函數等(例如:pinMode(ledPin,OUTUPT);)。

    void loop() 在void setup()函數之后,即初始化之后,loop() 讓你的程序循環地被執行。使用它來運轉Arduino。

    5. 數字 I/O

    以下型號為UNO

    pinMode(pin, mode);

    數字IO口輸入輸出模式定義函數,pin表示為0~13, mode表示INPUT或OUTPUT。

    digitalWrite(pin, value) ;

    數字IO口輸出電平定義函數,pin表示為0~13,value表示為HIGH或LOW。

    必須先定義為輸入或輸出模式digitalWrite才能生效。

    int digitalRead(pin);

    數字IO口讀輸入電平函數,pin表示為0~13,value表示為HIGH或LOW。比如可以讀數

    字傳感器。

    6. 模擬IO

    int analogRead(pin);

    模擬IO口讀函數,pin表示為0~5(ArduinoDiecimila為0~5,Arduino nano為0~7)。比如可以讀模擬傳感器(10位AD,0~5V表示為0~1023)。

    analogWrite(pin, value) - PWM

    數字IO口PWM輸出函數,Arduino數字IO口標注了PWM的IO口可使用該函數通常在引腳的旁邊標注~,pin表示3, 5, 6, 9,10, 11,value表示為0~255。比如可用于電機PWM調速或音樂播放。

    7. 擴展 I/O

    shiftOut(dataPin, clockPin, bitOrder,value);

    SPI外部IO擴展函數,通常使用帶SPI接口的74HC595做8個IO擴展,dataPin為數據口,clockPin為時鐘口,bitOrder為數據傳輸方向(MSBFIRST高位在前,LSBFIRST低位在前),value表示所要傳送的數據(0~255),另外還需要一個IO口做74HC595的使能控制。

    unsigned long pulseIn(pin, value);脈沖長度記錄函數,返回時間參數(us),pin表示為0~13,value為HIGH或LOW。比如value為HIGH,那么當pin輸入為高電平時,開始計時,當pin輸入為低電平時,停止計時,然后返回該時間。

    8. 時間函數

    unsigned long millis();返回時間函數(單位ms),該函數是指,當程序運行就開始計時并返回記錄的參數,該參數溢出大概需要50天時間。

    delay(ms);延時函數(單位ms)。

    delayMicroseconds(us);延時函數(單位us)。

    9. 數學函數

    min(x, y) ;求最小值。

    max(x, y) ;求最大值。

    abs(x) ; 計算絕對值。

    constrain(x, a, b) ; 約束函數,下限a,上限b,x必須在ab之間才能返回。

    map(value, fromLow, fromHigh, toLow,toHigh);約束函數,value必須在fromLow與toLow之間和fromHigh與toHigh之間。

    pow(base, exponent);開方函數,base的exponent次方。

    sq(x); 平方。

    sqrt(x);開根號。

    三角函數:

    sin(rad);

    cos(rad);

    tan(rad);

    10. 隨機數函數

    randomSeed(seed);隨機數端口定義函數,seed表示讀模擬口analogRead(pin)函數 。

    long random(max);隨機數函數,返回數據大于等于0,小于max。

    long random(min, max);隨機數函數,返回數據大于等于min,小于max。

    11. 外部中斷函數

    attachInterrupt(interrupt, , mode;外部中斷只能用到數字IO口2和3,interrupt表示中斷口初始0或1,表示一個功能函數,mode:LOW低電平中斷,CHANGE有變化就中斷,RISING上升沿中斷,FALLING 下降沿中斷。

    detachInterrupt(interrupt);中斷開關,interrupt=1 開,interrupt=0 關。

    interrupts();中斷使能函數,用于使能中斷。

    noInterrupts();中斷禁止函數,禁止中斷。

    12. 串口收發函數

    Serial.begin(speed);串口定義波特率函數,speed表示波特率(串行每秒傳輸數據位數的速率),如9600,19200等。

    int Serial.available() 判斷緩沖器狀態。

    int Serial.read();讀串口并返回收到參數。

    Serial.flush();清空緩沖器。

    Serial.print(data);串口輸出數據。Serial.print(數據,數據的進制) 默認為十進制(DEC)

    Serial.println(data);串口輸出數據并帶回車符。

    13. 重要

    以上列舉了一些較常用的函數,事實上,在Arduino的安裝目錄下的libraries還有眾多函數可以根據需要進行調用和學習。

    也可以自己編寫函數然后按照libraries目錄下其他函數的格式打包好。放置在libraries目錄下,然后自己就可以在IDE環境下調用自己編寫的函數了。

    通過以上介紹,其實大家可以看到arduino編程語言入門并不難,以上內容分享出來給大家作為參考,想要了解更多更專業的arduino編程語言教程可以去DF創客社區Arduino教程專欄學習。

    本文到此講解完畢了,希望對大家有幫助。

  • 成人app