久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11222|回復: 2
打印 上一主題 下一主題
收起左側

Arduino編程語言入門教程

[復制鏈接]
跳轉到指定樓層
樓主
隨著社會的發展,越來越多的中小學生、老師、創客們、設計師、藝術家等都在玩Arduino,Arduino編程語言入門難嗎?我們都知道Arduino使用C/C++編寫程序,雖然C++兼容C語言,但這是兩種語言,C語言是一種面向過程的編程語言,C++是一種面向對象的編程語言。早期的Arduino核心庫使用C語言編寫,后來引進了面向對象的思想,目前最新的Arduino核心庫采用CC++混合編寫而成。所以如果你會編程語言C或者C++的話那一點都不難,如果您是小白用戶那估計要費點功夫學習了。

今天我們來詳細了解下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表示為013mode表示INPUTOUTPUT
digitalWrite(pin, value) ;
數字IO口輸出電平定義函數,pin表示為013value表示為HIGHLOW
必須先定義為輸入或輸出模式digitalWrite才能生效。
int digitalRead(pin);
數字IO口讀輸入電平函數,pin表示為013value表示為HIGHLOW。比如可以讀數
字傳感器。

6. 模擬IO
int analogRead(pin);  
模擬IO口讀函數,pin表示為05ArduinoDiecimila05Arduino nano07)。比如可以讀模擬傳感器(10AD05V表示為01023)。
analogWrite(pin, value) - PWM   
數字IOPWM輸出函數,Arduino數字IO口標注了PWMIO口可使用該函數通常在引腳的旁邊標注~pin表示3, 5, 6, 9,10, 11value表示為0255。比如可用于電機PWM調速或音樂播放。

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

unsigned long pulseIn(pin, value);脈沖長度記錄函數,返回時間參數(us),pin表示為013valueHIGHLOW。比如valueHIGH,那么當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,上限bx必須在ab之間才能返回。
map(value, fromLow, fromHigh, toLow,toHigh);約束函數,value必須在fromLowtoLow之間和fromHightoHigh之間。
pow(base, exponent);開方函數,baseexponent次方。
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;外部中斷只能用到數字IO23interrupt表示中斷口初始01,表示一個功能函數,modeLOW低電平中斷,CHANGE有變化就中斷,RISING上升沿中斷,FALLING 下降沿中斷。
detachInterrupt(interrupt);中斷開關,interrupt=1 開,interrupt=0 關。
interrupts();中斷使能函數,用于使能中斷。
noInterrupts();中斷禁止函數,禁止中斷。

12. 串口收發函數
Serial.begin(speed);串口定義波特率函數,speed表示波特率(串行每秒傳輸數據位數的速率),如960019200等。
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編程語言教程專欄學習。

注明:本篇文章內容來源:mc.dfrobot點com點cn/thread-300715-1-1.html

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:691100 發表于 2020-12-11 15:57 | 只看該作者
謝謝指導
回復

使用道具 舉報

板凳
ID:865532 發表于 2020-12-22 15:21 | 只看該作者
基礎知識,謝謝指導!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩在线观看网站 | 1级黄色大片 | h片在线观看网站 | 国产精品不卡 | 精品一区二区三区免费视频 | 亚洲成人国产精品 | 亚洲一区精品在线 | 亚洲视频区 | 国产精品久久国产精品 | 亚洲成人毛片 | 国产在线观看一区二区 | 国产精品三级 | 国产精品久久久久婷婷二区次 | 国产精品成人在线 | 国产综合久久久久久鬼色 | 午夜免费网| 亚洲成av人片在线观看无码 | 中文精品一区二区 | 国产99视频精品免费视频7 | 日产精品久久久一区二区福利 | 亚洲高清在线视频 | 午夜寂寞影院列表 | 国产真实精品久久二三区 | 狠狠干天天干 | 国产日韩精品在线 | 日韩一区二区三区精品 | 久草新在线 | 日本成人三级电影 | 影音先锋中文字幕在线观看 | 久久久亚洲 | 亚洲一区二区在线视频 | 精品精品 | 日韩中文视频 | 欧美一区二区三区在线观看 | 成人污污视频 | 最近中文字幕第一页 | 日韩免费一区二区 | 免费观看黄色片视频 | 美女亚洲一区 | 91成人在线 | 黑人巨大精品欧美黑白配亚洲 |