天天看點

《Microduino實戰》——3.4 重新認識軟體與硬體

本節書摘來自華章出版社《microduino實戰》一 書中的第3章,第3.4節,作者:姚琪 楊立斌,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

我們已經做了兩個基本實驗,一個是序列槽的列印,另一個是通過數字i/o控制一個led。以前從未接觸過arduino或microduino的讀者,自然會有不少疑問。比如在硬體上,會問:microduino-core有哪些i/o?能夠用來做什麼?如何使用?而在源代碼上,會問:如何用程式中的函數控制這些i/o?有固定的結構和文法嗎?

接下來會詳細介紹i/o的功能以及程式代碼的基礎。

在第2章中已經介紹過microduino-core各個引腳的功能,這裡針對每個引腳重新梳理一下。具體的功能以及程式中對應的位址如表3-1所示。

《Microduino實戰》——3.4 重新認識軟體與硬體
《Microduino實戰》——3.4 重新認識軟體與硬體

進一步認識了硬體接口之後,再看看arduino程式的基本結構,以及如何用程式控制這些端口。

arduino的程式結構必須包括setup()和loop(),否則程式無法正常編譯,采用的是c或者c++語言。

《Microduino實戰》——3.4 重新認識軟體與硬體
《Microduino實戰》——3.4 重新認識軟體與硬體

除了i/o的操作之外,另一項很有用的功能是序列槽通信。我們常常用它來調試程式,因為從外部或許隻能用肉眼觀察led閃爍等一些實體現象,但根本不知道程式在運作的過程中出現了什麼情況,計算得到了什麼數值,又據此做出了什麼樣的動作。如果我們觀察到的現象不是我們所預想的,問題可能出現在硬體上,比如連接配接松動或者順序接錯了;也可能是程式中一時疏忽,将某個變量指派錯了。這個時候,序列槽調試就派上用場了。比如在程式關鍵位置,通過序列槽列印出一些資料資訊,根據這些資料,我們可以判斷是否異常,以便定位程式的狀态,最終找到問題所在。

下面介紹序列槽中最常用的函數。

《Microduino實戰》——3.4 重新認識軟體與硬體

繼續閱讀