Serial Port的通訊在微控制器中是很常用的一種方式,可以用來連接兩個晶片,或是直接跟電腦進行資料交換。在Arduino上同樣具備了Tx,Rx的Serial Port功能,其中一組會建立在板子上的USB連接埠上,不必另外買RS232-USB轉接線以及MAX232這類轉接IC就可以直接跟電腦進行連線,這是非常方便的設計。 在Arduino中的Serial Port傳送可以有多種函示的選擇,例如println()、read()、readByte()、write()等等,可以依據使用習慣來挑選。但Serial對我而言,我只重視一件事情,那就是資料的穩定、無錯誤。使用println()也許可以傳送字串或其他格式,但卻不是我習慣的傳送方式,因為傳送的資料是要給電腦看的,而不是給人看的,因此是不是字串不太重要,反而純數值會好些。 在Serial的資料傳輸中,我習慣將資料轉化成一個Byte陣列,透過read()、write()的方式,把一整個陣列的Byte傳送或者接收,盡可能減少資料出錯的可能性。由於Serial Port傳輸速度有限,資料傳輸的間隔可以自行斟酌,我個人通常都是使用50ms以上的間格時間,避免傳輸時有問題發生。