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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 11275|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

Arduino編程語(yǔ)言入門教程

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
隨著社會(huì)的發(fā)展,越來(lái)越多的中小學(xué)生、老師、創(chuàng)客們、設(shè)計(jì)師、藝術(shù)家等都在玩Arduino,Arduino編程語(yǔ)言入門難嗎?我們都知道Arduino使用C/C++編寫程序,雖然C++兼容C語(yǔ)言,但這是兩種語(yǔ)言,C語(yǔ)言是一種面向過程的編程語(yǔ)言,C++是一種面向?qū)ο蟮木幊陶Z(yǔ)言。早期的Arduino核心庫(kù)使用C語(yǔ)言編寫,后來(lái)引進(jìn)了面向?qū)ο蟮乃枷耄壳白钚碌?/font>Arduino核心庫(kù)采用CC++混合編寫而成。所以如果你會(huì)編程語(yǔ)言C或者C++的話那一點(diǎn)都不難,如果您是小白用戶那估計(jì)要費(fèi)點(diǎn)功夫?qū)W習(xí)了。

今天我們來(lái)詳細(xì)了解下Arduino編程語(yǔ)言入門教程:
1. 關(guān)鍵字
語(yǔ)法符號(hào):
;
;是一條語(yǔ)句結(jié)束的標(biāo)志,供編譯器識(shí)別,必須得有。

{}
{}將多條語(yǔ)句合成一個(gè)復(fù)合語(yǔ)句,能劃分語(yǔ)句的作用域,增強(qiáng)整體整體的可讀性。
//
//行注釋,該行//后的所有語(yǔ)句,文字將不被編譯器所編譯、執(zhí)行。相似的,還有,在中的所有語(yǔ)句,文字將不被編譯器所編譯、執(zhí)行。

if(表達(dá)式)  
{
語(yǔ)句A;
}

if(表達(dá)式1)
{
語(yǔ)句1;
}
    else if(表達(dá)式2)
    {
    語(yǔ)句2;
    }
          ...
       else if(表達(dá)式n)
              {
               語(yǔ)句n;
               }
                 else
                        {
                        語(yǔ)句n+1
                        }

for(初始表達(dá)式;條件表達(dá)式;循環(huán)變量表達(dá)式)
{
循環(huán)體語(yǔ)句;
}

switch(表達(dá)式)
{
case 表達(dá)式常量1:語(yǔ)句序列1
case 表達(dá)式常量2:語(yǔ)句序列2;
       ...
case 表達(dá)式常量i:語(yǔ)句序列i;
case 表達(dá)式常量n:語(yǔ)句序列n;
default:語(yǔ)句序列n+1;
}

while(條件表達(dá)式)
{
循環(huán)語(yǔ)句;
循環(huán)變量表達(dá)式;
}

do
{
循環(huán)體語(yǔ)句;
}while(條件表達(dá)式);

break;

continue

return x;

goto 語(yǔ)句標(biāo)號(hào);

2. 數(shù)據(jù)類型:
3. 常量
HIGH | LOW 表示數(shù)字IO口的高低電平。HIGH 表示高電(1),LOW 表示低電平(0)。
INPUT | OUTPUT 表示數(shù)字IO口的方向,INPUT 表示輸入(高阻態(tài)),OUTPUT  表示輸出(AVR單片機(jī)能提供5V電壓 40mA電流)。
true | false  true 表示真(1),false表示假(0)。

4. 程序結(jié)構(gòu)
聲明變量及接口名稱(例如:int i;int ledPin=13;)。
void setup() 函數(shù)在程序開始時(shí)使用,初始化變量,管腳模式,調(diào)用庫(kù)函數(shù)等(例如:pinMode(ledPin,OUTUPT);)。
void loop()  void setup()函數(shù)之后,即初始化之后,loop() 讓你的程序循環(huán)地被執(zhí)行。使用它來(lái)運(yùn)轉(zhuǎn)Arduino

5. 數(shù)字 I/O
以下型號(hào)為UNO
pinMode(pin, mode);
數(shù)字IO口輸入輸出模式定義函數(shù),pin表示為013mode表示INPUTOUTPUT。
digitalWrite(pin, value) ;
數(shù)字IO口輸出電平定義函數(shù),pin表示為013value表示為HIGHLOW。
必須先定義為輸入或輸出模式digitalWrite才能生效。
int digitalRead(pin);
數(shù)字IO口讀輸入電平函數(shù),pin表示為013,value表示為HIGHLOW。比如可以讀數(shù)
字傳感器。

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

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

unsigned long pulseIn(pin, value);脈沖長(zhǎng)度記錄函數(shù),返回時(shí)間參數(shù)(us),pin表示為013,valueHIGHLOW。比如valueHIGH,那么當(dāng)pin輸入為高電平時(shí),開始計(jì)時(shí),當(dāng)pin輸入為低電平時(shí),停止計(jì)時(shí),然后返回該時(shí)間。

8. 時(shí)間函數(shù)
unsigned long millis();返回時(shí)間函數(shù)(單位ms),該函數(shù)是指,當(dāng)程序運(yùn)行就開始計(jì)時(shí)并返回記錄的參數(shù),該參數(shù)溢出大概需要50天時(shí)間。
delay(ms);延時(shí)函數(shù)(單位ms)。
delayMicroseconds(us);延時(shí)函數(shù)(單位us)。

9. 數(shù)學(xué)函數(shù)
min(x, y) ;求最小值。
max(x, y) ;求最大值。
abs(x) ; 計(jì)算絕對(duì)值。
constrain(x, a, b) ; 約束函數(shù),下限a,上限b,x必須在ab之間才能返回。
map(value, fromLow, fromHigh, toLow,toHigh);約束函數(shù),value必須在fromLowtoLow之間和fromHightoHigh之間。
pow(base, exponent);開方函數(shù),baseexponent次方。
sq(x); 平方。
sqrt(x);開根號(hào)。
三角函數(shù):
sin(rad);
cos(rad);
tan(rad);

10. 隨機(jī)數(shù)函數(shù)
randomSeed(seed);隨機(jī)數(shù)端口定義函數(shù),seed表示讀模擬口analogRead(pin)函數(shù) 。
long random(max);隨機(jī)數(shù)函數(shù),返回?cái)?shù)據(jù)大于等于0,小于max
long random(min, max);隨機(jī)數(shù)函數(shù),返回?cái)?shù)據(jù)大于等于min,小于max

11. 外部中斷函數(shù)
attachInterrupt(interrupt, , mode;外部中斷只能用到數(shù)字IO23,interrupt表示中斷口初始01,表示一個(gè)功能函數(shù),modeLOW低電平中斷,CHANGE有變化就中斷,RISING上升沿中斷,FALLING 下降沿中斷。
detachInterrupt(interrupt);中斷開關(guān),interrupt=1 開,interrupt=0 關(guān)。
interrupts();中斷使能函數(shù),用于使能中斷。
noInterrupts();中斷禁止函數(shù),禁止中斷。

12. 串口收發(fā)函數(shù)
Serial.begin(speed);串口定義波特率函數(shù),speed表示波特率(串行每秒傳輸數(shù)據(jù)位數(shù)的速率),如9600,19200等。
int Serial.available()  判斷緩沖器狀態(tài)。
int Serial.read();讀串口并返回收到參數(shù)。
Serial.flush();清空緩沖器。
Serial.print(data);串口輸出數(shù)據(jù)。Serial.print(數(shù)據(jù),數(shù)據(jù)的進(jìn)制) 默認(rèn)為十進(jìn)制(DEC
Serial.println(data);串口輸出數(shù)據(jù)并帶回車符。

13. 重要
以上列舉了一些較常用的函數(shù),事實(shí)上,在Arduino的安裝目錄下的libraries還有眾多函數(shù)可以根據(jù)需要進(jìn)行調(diào)用和學(xué)習(xí)。
也可以自己編寫函數(shù)然后按照libraries目錄下其他函數(shù)的格式打包好。放置在libraries目錄下,然后自己就可以在IDE環(huán)境下調(diào)用自己編寫的函數(shù)了。

通過以上介紹,其實(shí)大家可以看到arduino編程語(yǔ)言入門并不難,以上內(nèi)容分享出來(lái)給大家作為參考,想要了解更多更專業(yè)的arduino編程語(yǔ)言教程可以去DF創(chuàng)客社區(qū)Arduino編程語(yǔ)言教程專欄學(xué)習(xí)。

注明:本篇文章內(nèi)容來(lái)源:mc.dfrobot點(diǎn)com點(diǎn)cn/thread-300715-1-1.html

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

使用道具 舉報(bào)

沙發(fā)
ID:691100 發(fā)表于 2020-12-11 15:57 | 只看該作者
謝謝指導(dǎo)
回復(fù)

使用道具 舉報(bào)

板凳
ID:865532 發(fā)表于 2020-12-22 15:21 | 只看該作者
基礎(chǔ)知識(shí),謝謝指導(dǎo)!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久草福利 | 精品久久久久久久久久久久久久久久久 | 亚洲成人精品影院 | 国产欧美综合在线 | 亚洲精品一区二区三区蜜桃久 | 久久久福利 | a中文在线视频 | 欧美日本一区二区 | 国产精品免费一区二区三区 | 成人三区四区 | 久久夜视频| 亚洲精品18 | 国产良家自拍 | 欧美一级艳情片免费观看 | 99re视频在线| 久久99精品久久久 | 日韩三极| 日日天天 | 中文字幕在线一区二区三区 | 精品久久久久久 | 午夜视频免费在线观看 | 91精品国产91久久综合桃花 | 亚洲欧洲国产视频 | 国产精品国产精品国产专区不片 | 国产精品污www一区二区三区 | 91在线免费视频 | 国产一区三区在线 | 日日操天天射 | 成人在线免费视频观看 | 99久久久国产精品 | 国产精品一区二区久久 | www网站在线观看 | 亚洲精品视频在线 | 日韩欧美一区二区三区在线播放 | 久久99深爱久久99精品 | 美女爽到呻吟久久久久 | 天天操综合网 | 国家aaa的一级看片 h片在线看 | 国产精品久久久久久久久图文区 | 成人精品一区二区三区四区 | 一区二区视频在线观看 |