工程結(jié)構(gòu)監(jiān)測(cè)基礎(chǔ)與實(shí)踐 課件 1.一些簡(jiǎn)單操作_第1頁(yè)
工程結(jié)構(gòu)監(jiān)測(cè)基礎(chǔ)與實(shí)踐 課件 1.一些簡(jiǎn)單操作_第2頁(yè)
工程結(jié)構(gòu)監(jiān)測(cè)基礎(chǔ)與實(shí)踐 課件 1.一些簡(jiǎn)單操作_第3頁(yè)
工程結(jié)構(gòu)監(jiān)測(cè)基礎(chǔ)與實(shí)踐 課件 1.一些簡(jiǎn)單操作_第4頁(yè)
工程結(jié)構(gòu)監(jiān)測(cè)基礎(chǔ)與實(shí)踐 課件 1.一些簡(jiǎn)單操作_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于Arduino語(yǔ)言的一些簡(jiǎn)單操作01Arduino語(yǔ)言02簡(jiǎn)單算法的了解CONTENT目錄11.If-else算法2.九九乘法表3.三角函數(shù)01Arduino語(yǔ)言23Arduino語(yǔ)言C語(yǔ)言 Arduino語(yǔ)言是建立在C/C++基礎(chǔ)上的,其實(shí)也就是基礎(chǔ)的C語(yǔ)言,Arduino語(yǔ)言只不過(guò)把AVR單片機(jī)(微控制器)相關(guān)的一些寄存器參數(shù)設(shè)置都函數(shù)化了,讓不太了解單片機(jī)(微控制器)的也能輕松上手。基礎(chǔ)C語(yǔ)言知識(shí)控制語(yǔ)句關(guān)鍵字If條件語(yǔ)句do...while循環(huán)語(yǔ)句的循環(huán)體If...else條件語(yǔ)句+否定分支break跳出當(dāng)前循環(huán)for循環(huán)語(yǔ)句continue結(jié)束當(dāng)前循環(huán)Switch...case開關(guān)語(yǔ)句+分支return子程序返回語(yǔ)句while循環(huán)語(yǔ)句的循環(huán)條件goto無(wú)條件跳轉(zhuǎn)語(yǔ)句語(yǔ)法符號(hào);(分號(hào))每條指令(代碼行)都以分號(hào)結(jié)束。甚至可以將兩條指令放在同一行,只要你用一個(gè)分號(hào)把它們隔開就行了{(lán)}(大括號(hào))用來(lái)區(qū)分幾個(gè)不同的結(jié)構(gòu)//用來(lái)解釋程序代碼的功能/**/多行注釋4Arduino語(yǔ)言基礎(chǔ)C語(yǔ)言知識(shí)while(表達(dá)式1){語(yǔ)句1

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

elseif(表達(dá)式3){語(yǔ)句3}…….}結(jié)構(gòu)while(設(shè)備收到了數(shù)據(jù)){int

abc=收到的數(shù)據(jù);//把設(shè)備收到的數(shù)據(jù)用abc表示if(abc<0){電腦顯示“數(shù)據(jù)小于0”;}

elseif(abc>0){電腦顯示“數(shù)據(jù)大于0”;}…….}示例用于表示一句代碼的結(jié)束。如果忘記使用分號(hào)作為結(jié)尾,在上傳程序時(shí)系統(tǒng)會(huì)報(bào)錯(cuò)。左大括號(hào)”{”必須與一個(gè)右大括號(hào)“}”形成閉合,用來(lái)區(qū)分不同的結(jié)構(gòu)。5Arduino語(yǔ)言基礎(chǔ)C語(yǔ)言知識(shí)for(初始化;條件;增量計(jì)數(shù)){

語(yǔ)句

}

結(jié)構(gòu)

for(intx=0;x<10;x=x+2)//定義一個(gè)變量x,并賦值為0,當(dāng)x小于0的時(shí)候x就加2。{輸出x的值;}示例for語(yǔ)句用于重復(fù)執(zhí)行一段在花括號(hào)之內(nèi)的語(yǔ)句注釋用于提醒自己或他人程序是如何工作的。它們會(huì)被編譯器忽略掉,也不會(huì)傳送給處理器,不會(huì)執(zhí)行。6Arduino語(yǔ)言基礎(chǔ)C語(yǔ)言的知識(shí)C語(yǔ)言運(yùn)算符=為指定某個(gè)變量的值>=判斷左邊的值是否大于等于右邊的值+對(duì)兩個(gè)值進(jìn)行求和<=判斷左邊的值是否小于等于右邊的值-對(duì)兩個(gè)值進(jìn)行作差++將運(yùn)算符左邊的值自增1*對(duì)兩個(gè)值進(jìn)行相乘--將運(yùn)算符左邊的值自減1/對(duì)兩個(gè)值進(jìn)行除法運(yùn)算+=加入某個(gè)變量的值%對(duì)兩個(gè)值進(jìn)行取余運(yùn)算-=減去某個(gè)變量的值==判斷兩個(gè)值是否相等*=乘入某個(gè)變量的值!=判斷兩個(gè)值是否不等/=和某個(gè)變量的值作商數(shù)據(jù)類型關(guān)鍵字boolean布爾邏輯體系的(分別以1和0代指是和非)unsignedlong無(wú)符號(hào)長(zhǎng)型char定義字符型變量或函數(shù),其占用1字節(jié)的內(nèi)存空間float表示單精度浮點(diǎn)型數(shù)據(jù),一般占4個(gè)字節(jié)byte字節(jié)double表示雙精度浮點(diǎn)型數(shù)據(jù),一般占8個(gè)字節(jié)int表示基本整型數(shù)據(jù),一般占4個(gè)字節(jié)string字符串unsignedint無(wú)符號(hào)整型array數(shù)組long表示長(zhǎng)整型數(shù)據(jù),一般占4個(gè)字節(jié)void表示無(wú)類型數(shù)據(jù)7Arduino語(yǔ)言基礎(chǔ)C語(yǔ)言知識(shí)intx;//聲明一個(gè)名為x的整數(shù)型變量inty=0;//聲明一個(gè)名為y的整數(shù)型值intz;//聲明一個(gè)名為z的整數(shù)型變量

x=電腦讀取的數(shù)據(jù);//將電腦讀取的數(shù)據(jù)存儲(chǔ)在x變量中if(x==10){x=x++;//x自增1,x=x+1y+=x;//y=x+yz=x%5;//x的值除以5,余下的數(shù)賦值給z}

elseif(x!=10){輸出x的值;}8Arduino語(yǔ)言基礎(chǔ)C語(yǔ)言知識(shí)一個(gè)數(shù)據(jù)類型,占用1個(gè)字節(jié)的內(nèi)存存儲(chǔ)一個(gè)字符值。字符都寫在單引號(hào),如‘A’;(多個(gè)字符(字符串)使用雙引號(hào),如

“ABC”)例如:charabc=‘A’;charabc=“ABC”;char(字符或字符串)整數(shù)常量是直接在程序中使用的數(shù)字,如123。默認(rèn)情況下,這些數(shù)字被視為int例如:intx=456;int(整數(shù)常量)和整型常量類似,浮點(diǎn)常量可以使得代碼更具可讀性,也就是數(shù)據(jù)帶有小數(shù)點(diǎn)或者用科學(xué)計(jì)數(shù)法表示。例如:floatx=456.000;floatx=4.56E2;float(浮點(diǎn)常量)9Arduino語(yǔ)言Arduino語(yǔ)言voidsetup()函數(shù):用來(lái)初始化變量管腳模式只運(yùn)行一次時(shí)間函數(shù):delay(ms):延遲函數(shù)(單位ms);delayMicroseconds(us):延遲函數(shù)(單位us)。數(shù)學(xué)函數(shù):min(x,y):求最小值;max(x,y):求最大值;abs(x):計(jì)算絕對(duì)值;constrain(x,a,b):約束函數(shù),下限a,上限b,x必須在ab之間才能返回;Pow(base,exponent):開方函數(shù),base的exponent次方;sq(x):平方;squrt(x):開根號(hào);voidloop()函數(shù):連續(xù)執(zhí)行函數(shù)內(nèi)的語(yǔ)句,是Arduino的主函數(shù),這套程序會(huì)一直重復(fù)執(zhí)行,直到電源被斷開。Arduino中最重要的兩個(gè)函數(shù)10Arduino語(yǔ)言Arduino語(yǔ)言在程序中新建一個(gè)項(xiàng)目文件,初始界面如下所示:把你的設(shè)置代碼放在這里,運(yùn)行一次把你的主要代碼放在這里,重復(fù)運(yùn)行11Arduino語(yǔ)言Arduino語(yǔ)言Serial.begin()開啟串口,通常置于setup()函數(shù)中Serial.begin(speed)speed:波特率,一般取值9600,115200等Serial.begin(speed,config)config:設(shè)置數(shù)據(jù)位、校驗(yàn)位和停止位。Serial.end()禁止串口傳輸。此時(shí)串口Rx和Tx可以作為數(shù)字IO引腳使用

Serial.print()串口輸出數(shù)據(jù),寫入字符數(shù)據(jù)到串口Serial.print(val)val:打印的值,任意數(shù)據(jù)類型Serial.print(val,format)format:輸出的數(shù)據(jù)格式。Serial.println()串口輸出數(shù)據(jù)并換行Serial.println(val)val:打印的值,任意數(shù)據(jù)類型Serial.println(val,format)format:輸出的數(shù)據(jù)格式Serial.available()判斷串口緩沖區(qū)的狀態(tài),返回從串口緩沖區(qū)讀取的字節(jié)數(shù)

Serial.read()讀取串口數(shù)據(jù),一次讀一個(gè)字符,讀完后刪除已讀數(shù)據(jù)

Serial.readBytes()從串口讀取指定長(zhǎng)度的字符到緩存數(shù)組Serial.readBytes(buffer,length)buffer:緩存變量length:設(shè)定的讀取長(zhǎng)度串口相關(guān)函數(shù)12Arduino語(yǔ)言Arduino語(yǔ)言串口,串行接口的縮寫,也稱為串行通信接口、COM接口(串行通訊接口),是一種采用串行通信方式(數(shù)據(jù)一位一位地按順序傳送)的擴(kuò)展接口。串行通信作為計(jì)算機(jī)通信方式之一,主要起到主機(jī)與外設(shè)以及主機(jī)之間的數(shù)據(jù)傳輸作用,如下圖所示。主機(jī)外設(shè)(單片機(jī))主機(jī)發(fā)送數(shù)據(jù),外設(shè)讀取數(shù)據(jù)外設(shè)發(fā)送數(shù)據(jù),主機(jī)讀取數(shù)據(jù)1302簡(jiǎn)單算法的了解14簡(jiǎn)單算法的了解If-else的使用JcbleJuRaTinyMLKit開發(fā)板本實(shí)驗(yàn)只需要將開發(fā)板連接到電腦上,并輸入相應(yīng)代碼即可。調(diào)用串口相關(guān)的庫(kù),所有實(shí)驗(yàn)都需要這條命令,沒(méi)有的話,程序就無(wú)法燒錄進(jìn)開發(fā)板。設(shè)置數(shù)據(jù)傳輸速率,可以修改。數(shù)字變大的話傳輸速率會(huì)增大,但傳輸距離會(huì)變短,變小的話則相反。當(dāng)你沒(méi)有使用串口監(jiān)視器打開串口時(shí),程序就會(huì)一直循環(huán)運(yùn)行空語(yǔ)句,什么也不做。定義串口收到的數(shù)據(jù)為字符數(shù)據(jù)(不具計(jì)算能力的文字?jǐn)?shù)據(jù)類型)。串口換行輸出這些文字或者數(shù)值。15代碼講解九九乘法表loop函數(shù)中可以沒(méi)有語(yǔ)句,但不能把l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論