Arduino--語法03

2021-02-14 GM甲骨文



三、擴展語法


3.1 ; (分號)

在每一行忘記使用分號作為結尾,將導致一個編譯錯誤。錯誤提示可能會清晰的指向缺少分號的那行,也可能不會。如果彈出一個令人費解或看似不合邏輯的編譯器錯誤,第一件事就是在錯誤附近檢查是否缺少分號。

3.2{}(花括號)

大括號(也稱為「括號」或「大括號」)是C程式語言中的一個重要組成部分。它們被用來區分幾個不同的結構,下面列出的,有時可能使初學者混亂。左大括號「{」必須與一個右大括號「}」形成閉合。這是一個常常被稱為括號平衡的條件。在Arduino IDE(集成開發環境) 中有一個方便的功能來檢查大括號是否平衡。只需選擇一個括號,甚至單擊緊接括號的插入點,就能知道這個括號的「伴侶括號」目前此功能稍微有些錯誤, 因為IDE會經常會認為在注釋中的括號是不正確的。對於初學者, 以及由BASIC語言轉向學習C語言的程式設計師, 經常不清楚如何使用括號。畢竟,大括號還會在」return函數」、「endif條件句」以及「loop函數」中被使用到。由於大括號被用在不同的地方,這有一種很好的編程習慣以避免錯誤:輸入一個大括號後,同時也輸入另一個大括號以達到平衡。然後在你的括號之間輸入回車,然後再插入語句。這樣一來,你的括號就不會變得不平衡了。不平衡的括號常可導致許多錯誤,比如令人費解的編譯器錯誤,有時很難在一個程序找到這個錯誤。由於其不同的用法,括號也是一個程序中非常重要的語法,如果括號發生錯誤,往往會極大地影響了程序的意義。

功能:


void myfunction(datatype argument)
{
statements(s)
}


循環:

while(boolean expression)
{
statement(s)
}
do
{
 statement(s)
 }
 while(boolean expression) ;
for(initialisation; termination condition; incrementing expr)
{
statement(s)
}


條件語句:


if (boolean expression)
{
statement(s)
 }

else if (boolean expression)
{
statement(s)
}
else
{
statement(s)
}

來波廣告

3.3 //(單行注釋)

Comments(注釋) :注釋用於提醒自己或他人程序是如何工作的。它們會被編譯器忽略掉,也不會傳送給處理器, 所以它們在At mega晶片上不佔用體積。注釋的唯一作用就是使你自己理解或幫你回憶你的程序是怎麼工作的或提醒他人你的程序是如何工作的。編寫注釋有兩種寫法:

例子


x=5; //這是一條注釋斜槓後面本行內所有東西都是注釋
/*這是多行注釋-用於注釋一段代碼
if(gwb==0) { //在多行注釋內可使用單行注釋
x=3; /*但不允許使用新的多行注釋-這是無效的
}
//別忘了注釋的結尾符號-它們是成對出現的!
*/


小提示

當測試代碼的時候,注釋掉一段可能有問題的代碼是非常有效的方法。這能使這段代碼成為注釋而保留在程序中,而編譯器能忽略它們。這個方法用於尋找問題代碼或當編譯器提示出錯或錯誤很隱蔽時很有效。

3.4 /**/(多行注釋)


Comments(注釋) :注釋用於提醒自己或他人程序是如何工作的。它們會被編譯器忽略掉,也不會傳送給處理器, 所以它們在At mega晶片上不佔用體積。注釋的唯一作用就是使你自己理解或幫你回憶你的程序是怎麼工作的或提醒他人你的程序是如何工作的。編寫注釋有兩種寫法:


例子:
x=5; //這是一條注釋斜槓後面本行內的所有東西是注釋
/*這是多行注釋-用於注釋一段代碼
if(gwb==0) { //在多行注釋內可使用單行注釋
x=3; /*但不允許使用新的多行注釋-這是無效的
//別忘了注釋的結尾符號-它們是成對出現的!
*/


小提示:

當測試代碼的時候,注釋掉一段可能有問題的代碼是非常有效的方法。這能使這段代碼成為注釋而保留在程序中,而編譯器能忽略它們。這個方法用於尋找問題代碼或當編譯器提示出錯或錯誤很隱蔽時很有效。


來波廣告

3.5#define

#define是一個很有用的C語法, 它允許程式設計師在程序編譯之前給常量命名。在Arduino中,定義的常量不會佔用晶片上的任何程序內存空間。在編譯時編譯器會用事先定義的值來取代這些常量。然而這樣做會產生一些副作用,例如,一個已被定義的常量名已經包含在了其他常量名或者變量名中。在這種情況下, 文本將被#defined定義的數字或文本所取代。通常情況下, 優先考慮使用const關鍵字替代#define來定義常量。

Arduino擁有和C相同的語法規範。


語法:
#define常量名常量值注意, #是必須的。
例子:
#define ledPin 3
//在編譯時, 編譯器將使用數值3取代任何用到led Pin的地方。
提示:
在#define聲明後不能有分號。
如果存在分號,編譯器會拋出語義不明的錯誤,甚至關閉頁面。
#define led Pin 3;//這是一種錯誤寫法
類似的,
在#define聲明中包含等號也會產生語義不明的編譯錯誤從而導致關閉頁面。
#define led Pin = 3 //這是一種錯誤寫法


3.6#include


#include用於調用程序以外的庫。這使得程序能夠訪問大量標準C庫, 也能訪問用於arduino的庫即AVR C庫(Arduino基於AVR標準語法) 注意#include和#define一樣,不能在結尾加分號,如果你加了分號編譯器將會報錯。此例包含了一個庫, 用於將數據存放在flash空間內而不是ram內。這為動態內存節約了空間,大型表格查表更容易實現。

#include <avr/pgmspace.h>
prog_uint16_t myConstants[] PROGMEM =
{O, 21140, 702,9128,0,25764,8456,
0,0,0,0,0,0,0,0,29810,8968,29762,29762,4500};



感謝觀看

第三部分結束了

第四部分正在更新中

請期待

。。。。。。。。。。。

<GMORAKEL運維中心>

相關焦點

  • Arduino--語法07
    示例:int ledPin=13;語法:int var=val;var-變量名val-賦給變量的值例子:long speed Of Light=186000L;//參見整數常量『L』的說明語法:long var=val;var-長整型變量名var-賦給變量的值11.10 unsigned long(無符號長整數型)描述:無符號長整型變量擴充了變量容量以存儲更大的數據,它能存儲
  • Arduino--語法08
    語法:char(x)參數:x:任何類型的值返回char12.2  byte()描述:將一個值轉換為字節型數值語法:byte(x)參數:X:任何類型的值返回字節語法:long(x)參數:x:任意類型的數值返回值長整型數12.6  float()描述:將一個值轉換為float型數值。
  • Arduino串口通信簡介
    語法:Serial.begin(speed);  參數speed: 波特率,一般取值300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600,115200這裡設置好波特率之後,需要在串口監視器中也設置同樣的波特率,只有這樣,arduino
  • Arduino 課時一:初識Arduino
    Arduino IDE 的程式語言與C語言語法類似,同時集成了一些類庫,很多時候需要調用庫,這使得編程時不用過多關心底層的原理,會用即可。這讓我這個非專業人士也能玩上一玩,感到很開心。二.怎麼拼讀Arduino?
  • Arduino入門1: Arduino的前世今生
    圖片為Arduino一代原型機Wiring Lite, 轉載自http://arduinohistory.github.io相比當時價格較高的BASIC Stamp和其他平臺,Arduino在硬體上極大地集成和簡化了電路模塊一些繁瑣的技術細節
  • arduino 從零開始(2)探索arduino開發板和arduino IDE
    1、你將會探索arduino開發板2、你將會打開並上傳程序到arduino 板3、你將會學到arduino程序的基本框架和基本函數4、你將會自己編寫並上傳arduino程序一、arduino 板簡單來說,arduino(硬體)就是一個可以用來根據你的要求進行編程從而可以和很多輸入輸出設備進行交互的一個微型電腦系統。
  • 用Arduino開發物聯網設備之初識Arduino
    硬體部分:最初Arduino硬體只有那麼幾種,uno、mini等,但是現在經過這麼多年的發展,越來越多的硬體支持了arduino開發環境,所以現在也很難去界定什麼是血統純正的arduino硬體了。軟體部分:這部分也就是我們平時說的Arduino,我們其實使用的就是arduino框架來對很多的mcu來進行編程。這裡很多小夥伴其實有很多疑問,比如為什麼要用arduino來進行?
  • Arduino_集合Arduino教程、Arduino IDE及設計應用的技術專題
    在線等挺急的 詳細點 回答28# eepwlover:Arduino開發工具(arduino IDE) 1.0.5 綠色免費版
  • 【arduino】流水燈
    最近球球小朋友對arduino產生了濃厚的興趣,沒事就找書或者找視頻進行學習。
  • Arduino入門參考教程(1)基礎知識與開發環境篇
    食用前請自帶飯碗——Arduino UNO R3(某寶有售,便宜的大概23RMB左右一塊)1.關於Arduino2.關於Arduino IDE(開發環境)3.關於Arduino UNO R3開發板    Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino
  • Arduino 語法舉例說明
    Arduino 語法舉例說明#Arduino 語法setup()     初始化函數loop()
  • Arduino為什麼這麼火
    正文:這一兩年間,arduino作為一個能夠快速表現設計想法的工具,日漸火了起來,愛好者們自發性、非官方組織起來的論壇社區日漸豐富和活躍,近一兩年小夥伴們的作品集中也越來越多地涉及arduino相關的項目案例,那麼我們就簡單地來看一下
  • LABVIEW+Arduino
    而arduino可以模擬這些操作,再與LABVIEW相結合,可以在同一程序能實現切換頻點、通道等的操作,並根據測試需要將所需要的測試數據記錄在相應的表格內。一、什麼是arduinoArduino是一款便捷靈活、方便上手的開源電子原型平臺。包含硬體(各種型號的Arduino板)和軟體(Arduino IDE)。由一個歐洲開發團隊於2005年冬季開發。
  • arduino mega全解
    關於arduino mega相信大家對於這一開發板有了一定的了解,現在對這款開發板做一下系統的解說:本文引用地址:http,其中低位值,高位值和擴展位值分別為:FF,DA,FF,調入FLASH為arduino mega1280的hex文件,其操作在官網上可以查到。
  • 大牛輕鬆帶你玩轉Arduino智能硬體:(一)arduino入門:硬體介紹
    (一)arduino入門:硬體介紹認識arduino你都不需要去關心單片機編程繁瑣的細節,提供給你的是一套容易使用的工具包。4 以下是基於arduino單片機的作品尋跡小車平衡小車我相信大家看了這些作品後,都會感覺arduino的強大,心中也是很激動的,也很想嘗試去自己動手製作,那好就讓我們進入arduino的世界吧,讓自己成為一名創客。
  • 脫離Arduino IDE的外部編譯及上傳模式
    = %1set arduino_lib_path= %2%1\arduino-builder.exe -fqbn espressif:esp32:esp32 -build-path build -build-cache core_cache -hardware %arduino_lib_path%\hardware -libraries %arduino_lib_path%\libraries
  • 如何使用Arduino UNO製作一臺PM2.5顯示器
    1 ---- NC 2 ---- NC 3 ---- 5V 4 ---- NC 5 ---- GND 6 ---- arduino-tx 7 ---- arduino-rx 4-數字管連接: 1— ser--連接到arduino8 2— clk—連接至arduino9
  • arduino和單片機的區別
    打開APP arduino和單片機的區別 發表於 2017-11-08 14:25:18   一、arduino和單片機的區別   1、Arduino是一款便捷靈活、方便上手的開源電子原型平臺。
  • 玩轉Arduino提升工業/交互作品 | Workshop 01
    通過編程,設計師可以通過arduino讀取各種傳感器的數值,並使用物理輸出和可視輸出控制或影響外界環境,創造出有趣的互動原型。Arduino對於新手非常友好,入門簡單,非常適合設計師學習。掌握Arduino能讓設計師的想像力有更多的發揮空間。
  • 萬能超的arduino學習日記(一)
    本科時候有接觸過arduino,但是由於導師方向原因,轉做了3D列印和動力學分析,所以這裡是啥都會一點點的萬能超,希望能夠和大家一起學習討論。最近由於興趣原因,決定重新撿起arduino,所以決定寫這個萬能超的arduino學習日記跟大家一起重新學習。最開始的入門學習,我選擇跟B站太極創客的學習視頻,因為有基礎,選擇二倍速觀看學習。