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

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

QQ登錄

只需一步,快速開始

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

ARDUINO程序語(yǔ)法

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:329050 發(fā)表于 2018-5-13 19:19 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
程序語(yǔ)法
Language
Arduino語(yǔ)言 | Arduino函式庫(kù) | Arduino/Processing語(yǔ)言比較 | Arduino
IDE運(yùn)作原理
| Arduino IDE啟動(dòng)錯(cuò)誤
此語(yǔ)法部分網(wǎng)頁(yè)編排內(nèi)容來(lái)自于: Arduino官方網(wǎng)頁(yè)
此篇作者: xlinx
Arduino語(yǔ)法
以下分為三個(gè)部份來(lái)解說(shuō): 1. 結(jié)構(gòu) 2. 變數(shù) 3. 函式。
本書的印刷體材
在每一個(gè)函式都附有一小段的程序代碼詳細(xì)解說(shuō),符合當(dāng)次的說(shuō)明的相關(guān)函式,
會(huì)在程序代碼中以粗黑體特別標(biāo)明出來(lái)。
例如,在稍后的章節(jié)中會(huì)先介紹setup()和loop()這兩個(gè)函式。
int buttonPin = 3;
void setup()
{
beginSerial(9600);
pinMode(buttonPin, INPUT);
}
void loop()
{
if (digitalRead(buttonPin) == HIGH)
serialWrite(’ H');
else
serialWrite(’ L');
delay(1000);
}
選單項(xiàng)目的表示法格式會(huì)如以下所示:
例如:要新增預(yù)設(shè)內(nèi)建的LED范例程序代碼,使用「 File」 ->「 File」 ->「 File」
->「 File」選單項(xiàng)目。

準(zhǔn)備工作
在這一本說(shuō)中所使用的所有程序都可以在網(wǎng)絡(luò)上免費(fèi)下載。
下面會(huì)列出幾個(gè)必須知道的網(wǎng)站:
Arduino官方網(wǎng)站: http://arduino.cc
Arduino語(yǔ)言簡(jiǎn)介
1. 結(jié)構(gòu)
Arduino 的語(yǔ)法結(jié)構(gòu)必須包含以下兩個(gè)function
void setup()
在setup()函式中是初始化動(dòng)作的區(qū)塊,所有串行端口、腳位輸出入皆在此宣告
void loop()
loop()函式是版子重復(fù)執(zhí)行動(dòng)作的區(qū)塊。
以上的兩個(gè)扇區(qū)塊就是開始ARDUINO程序的必要結(jié)構(gòu), 而整體架構(gòu)如下面這個(gè)樣
子。
int ledPin = 13;
//定義靜態(tài)變量區(qū)(如:PIN腳位等)
void setup() //setup()函示區(qū)塊(大多都是用于定義腳位是輸出或輸入….等。)
{
….
}
void loop()
//loop()函示區(qū)塊(Arduino里的ATMEL芯片,會(huì)不斷重復(fù)執(zhí)行的
區(qū)域。 )
{
….
}
VariableDeclaration變量宣告
變量宣告方面, Arduino跟一般程序大同小異。
變量的宣告一定必須含有初始化的值, 且值可以是由函式所獲取的值。 說(shuō)明如下:
int inputVariable = 0;
//變量宣告必須給予初始值
inputVariable = analogRead(2); //變數(shù)的
FunctionDeclaration
函式的宣告在Arduino中支持變量的傳遞。不支持return任何型態(tài)的數(shù)值。
所以目前為止(version.007),函式的前方都是void型態(tài)。例如:
void getPinValue()
{ …. }
程序流程控制::Control Structures
if
if…else
for
switchcase
while
比較操作數(shù)::Comparison Operators
==(相等::equalto)
!=(不相等::not equalto)
<(小于::lessthan)
>(大于::greaterthan)
<=(小于且等于::lessthanorequalto)
>=(大于且等于::greaterthanor equalto)
布爾值操作數(shù)::Boolean Operations

&&(布爾運(yùn)算子::And)
||(布爾運(yùn)算子::Or)
!(布爾運(yùn)算子::Not)
其它關(guān)鍵符號(hào)::Further Syntax
;(分號(hào)::用于陳述式的結(jié)尾 -semicolon)
{}?(區(qū)塊符號(hào) -curlybraces)
//(單行批注 -singlelinecomment)
/**/(多行批注 -multi-linecomment)
#define
2. 變量、函式的宣告
變量型態(tài)::Variables
在ARDUINO編輯環(huán)境里, 如果您以前有豐富的寫程序經(jīng)驗(yàn), 在某些特定變量的關(guān)
鍵詞之下定義變量,請(qǐng)將環(huán)境設(shè)想從PC轉(zhuǎn)到ARDUINO BORD上。
這個(gè)意思的范例如下:
int ledPin = 13;
pinMode(ledPin, OUTPUT);
//ledPin指向一個(gè)IO輸出埠。
其它一些常見的變量(如:字符、整數(shù)、數(shù)組),我們可以用來(lái)暫存從模擬輸入腳
位中所截取到的數(shù)據(jù)。
char
byte
int
long
float?
string?
array
固定變量(常數(shù))::Constants
硬件語(yǔ)言常用的腳位高低電位定義, 在此ARDUINO定義了以下幾個(gè)常用的電子屬
性(電位高低、輸入輸出埠)和數(shù)值轉(zhuǎn)換的表示法(如:16進(jìn)制為=0xFF….等)。
HIGH|LOW
在邏輯方面, 固定常數(shù)的定義在Arduino語(yǔ)法中, 目的是為了使程序代碼更容易
被閱讀。數(shù)字腳位唯一的兩個(gè)狀態(tài),分別為高電位(HIGHT)以及低電位(LOW)。 這
通常也可以表式成TRUE或者是整數(shù)1。
INPUT|OUTPUT
Integer Constants
整數(shù)常數(shù)在Arduino語(yǔ)法表示是中<跟一般程序語(yǔ)言一樣,是以十進(jìn)制的基底為
普通表示方式。除了十進(jìn)制之外,尚有二進(jìn)制、八進(jìn)位,以及十六進(jìn)制,這些表
式的方式如下:
進(jìn)位機(jī)底 范例10 (decimal) 1232 (binary)
B11110118 (octal) 017316 (hexadecimal) 0×7B

二進(jìn)制表示式,范圍最大限制為2的8次方,也就是0到255。 (Binary Range
表示方法如下:B00000000 ~ B11111111)
3. 函式 Function
數(shù)字訊號(hào)::Digital I/O
pinMode(pin,mode) //setup()函式區(qū)塊中,定義輸出腳位和狀態(tài)。
digitalWrite(pin,value)//loop()函式區(qū)塊中,定義數(shù)字輸出腳位以及狀態(tài)(通常是
常數(shù)
HIGHTLOW….等) 。
intdigitalRead(pin)//loop()函式區(qū)塊中,讀取數(shù)字腳位狀態(tài)。
累斃訊號(hào)::Analog I/O
intanalogRead(pin)
analogWrite(pin,value)-PWM
AdvancedI/O
shiftOut(dataPin,clockPin,bitOrder,value)
unsignedlongpulseIn(pin,value)
時(shí)間功能::Time
unsignedlongmillis()
delay(ms)
delayMicroseconds(us)
數(shù)學(xué)運(yùn)算::Math
min(x,y) //將會(huì)回傳較大值
max(x, y) //將會(huì)回傳較小值
abs(x)//將會(huì)回傳絕對(duì)值
constrain(x, a,b) //比較區(qū)間范圍,比較過后回傳判定值
隨機(jī)數(shù)種子::Random Numbers
randomSeed(seed)
long random(max)
long random(min, max)
External Interrupts
這一個(gè)函式所提供的方法, 類式MYSQL 5.0版本以上所提供監(jiān)視數(shù)據(jù)觸發(fā)函式一
樣。觀念類似一支手槍,在扣板機(jī)之后,發(fā)現(xiàn)目標(biāo)之后發(fā)射的行為。
在ARDUINO中您可以使用這一個(gè)函示監(jiān)視一個(gè)輸入, 當(dāng)數(shù)值改變時(shí)就會(huì)觸發(fā)此一
類別的中斷行為。
attachInterrupt(interrupt, function, mode)
detachInterrupt(interrupt)
串行端口::SerialCommunication
串行端口函式用于ARDUINO版子與計(jì)算機(jī)或其它裝置的串行式溝通。
最常見的就是
設(shè)定傳輸鮑率,之后溝通透過arduino板子上面數(shù)字Pin的第1( 接
收Rx)和第2腳位(傳送Tx)。
由于Serial.begin()函式必須在setup()區(qū)宣告, 所以一旦使用此函式之后數(shù)字
Pin的第1和第2腳位,將不能夠被其它輸出使用。
Serial.begin(speed)

int Serial.available()

int Serial.read()

Serial.flush()
Serial.print(data)
Serial.println(data)
文檔編輯:圣徒

Arduino程序語(yǔ)法.pdf

221.53 KB, 下載次數(shù): 18, 下載積分: 黑幣 -5

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

使用道具 舉報(bào)

沙發(fā)
ID:220718 發(fā)表于 2018-5-14 05:30 | 只看該作者
謝謝分享啦。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人免费视频网址 | 求毛片 | 日韩欧美一区二区在线播放 | 精品欧美一区二区在线观看 | 国产乱码精品1区2区3区 | 人人干人人玩 | 日本精品在线一区 | 久久久精品日本 | 91精品国产综合久久精品图片 | 精品国产乱码一区二区三区a | 一级a性色生活片久久毛片 午夜精品在线观看 | 亚洲精品无 | 狠狠视频 | 国产精品乱码一区二三区小蝌蚪 | 一区二区国产在线观看 | 中文字幕的av | 91精品久久久久久久 | 国产精品久久久久久久久久久久 | 日韩av成人在线观看 | 狠狠色综合欧美激情 | 午夜影院在线观看免费 | 亚洲国产精品久久久久秋霞不卡 | 国产伦精品一区二区三区照片91 | 成人精品在线视频 | 成人激情视频在线播放 | 91久久精品国产91久久 | 日本不卡在线观看 | 精品色 | 性色的免费视频 | 国产福利观看 | 成人精品| 欧美日韩一卡 | 天堂在线1| 日韩中文在线视频 | 日韩a | 国产电影一区二区三区爱妃记 | 亚洲国产网址 | 综合色婷婷| 天天插天天舔 | 欧美成人h版在线观看 | 91麻豆精品国产91久久久久久久久 |