- 創(chuàng)客機器人實戰(zhàn):基于Arduino和樹莓派
- 何福貴等編著
- 454字
- 2020-10-23 14:26:23
4.3 高級I/O
4.3.1 shiftOut(dataPin,clockPin,bitOrder,val)
shiftOut函數(shù)能夠?qū)?shù)據(jù)通過串行的方式輸出在引腳上,即一般意義上的同步串行通信,是控制器之間、控制器與傳感器之間常用的一種通信方式。
shiftOut函數(shù)無返回值,有4個參數(shù):dataPin、clockPin、bitOrder、val,下面具體說明。
dataPin:數(shù)據(jù)輸出引腳,將逐次輸出數(shù)據(jù)的每一位。引腳模式需要設(shè)置成輸出。
clockPin:時鐘輸出引腳,提供時鐘,引腳模式需要設(shè)置成輸出。
bitOrder:數(shù)據(jù)位移順序選擇位,該參數(shù)為byte類型,有兩種類型可選擇,分別是高位先入MSBFIRST和低位先入LSBFIRST。
val:所要輸出的數(shù)據(jù)值。
4.3.2 pulseIn(pin,state,timeout)
pulseIn函數(shù)用于引腳脈沖時間長度的讀取,脈沖可以是HIGH或LOW。如果是HIGH,函數(shù)將先等引腳變?yōu)楦唠娖剑缓箝_始計時,一直到變?yōu)榈碗娖綖橹埂7祷孛}沖持續(xù)的時間長短,單位為毫秒(ms)。如果超時還沒有讀到的話,將返回0。
pulseIn函數(shù)返回值類型為無符號長整型(unsigned long),有3個參數(shù):pin、state、timeout,下面介紹具體含義。
pin:讀取脈沖的引腳。
value:讀取的脈沖類型——HIGH或LOW。
timeout(可選):指定脈沖計數(shù)的等待時間,單位為微秒,默認值是1秒。
下面是一個脈沖計數(shù)器,Arduino開發(fā)板的2引腳接脈沖,代碼如下:
