找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12935|回復: 0
打印 上一主題 下一主題
收起左側(cè)

pinMode()函數(shù)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:193393 發(fā)表于 2017-6-1 15:49 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
                形式:void pinMode(uint8 pin, WiringPinMode mode)
參數(shù):pin為引腳編號。
mode為引腳的輸入輸出模式。
pinMode()函數(shù)常放在setup()函數(shù)中來確定引腳的功能。切記,如果在使用某引腳前沒有設定pinMode()或者pinMode設置模式不正確,引腳輸入輸出過程可能會出現(xiàn)一些不可預料的錯誤。pinMode()輸出模式種類如表2-3所示。
表2-3 pinMode()輸出模式種類
mode 說 明
OUTPUT 數(shù)字輸出
OUTPUT_OPEN_DRAIN 開漏模式(Open-Drain),由外部上拉電阻提供輸出引腳電源。某些數(shù)字輸出引腳通過這個模式可以輸出TTL電平的信號
INPUT 數(shù)字輸入,該狀態(tài)在未接外部電路時,由于內(nèi)部電路非常敏感、電磁干擾等,會讓其讀取值為隨機的0或1
INPUT_ANALOG 模擬輸入
INPUT_PULLUP 與數(shù)字輸入相同,但是內(nèi)部通過一個高阻值的電阻連接到電源,使得引腳在沒有連接外部信號的時候能夠讀取穩(wěn)定的高電平信號,防止干擾
INPUT_PULLDOWN 與“INPUT_PULLUP”類似,只不過高阻值電阻連接到的是地而非電源,沒有信號時讀取的輸入是穩(wěn)定的低電平
INPUT_FLOATING 和“INPUT”等效
PWM 脈寬調(diào)制輸出(詳見第2.4節(jié))
PWM_OPEN_DRAIN 開漏輸出模式的脈寬調(diào)制輸出
代碼清單2-2通過pinMode()函數(shù)設定BOARD_LED_PIN作為輸出引腳,然后通過digitalWrite()函數(shù)與delay()函數(shù)使其以1/2 Hz的頻率閃爍。
代碼清單2-2 閃爍LED
void setup() {
    pinMode(BOARD_LED_PIN, OUTPUT); // 設定LED引腳為輸出模式
}
void loop() {
    digitalWrite(BOARD_LED_PIN, HIGH); // 設定LED引腳為高電平,點亮LED
    delay(1000);                     // 等待1秒鐘
    digitalWrite(BOARD_LED_PIN, LOW); // 設定LED引腳為低電平,熄滅LED
    delay(1000);                     // 等待1秒鐘
}
Maple的數(shù)字引腳能夠提供兩種輸出模式:開漏輸出(OUTPUT_OPEN_DRAIN)與推挽輸出(OUTP-UT)。其中最常用的是推挽輸出模式“OUTPUT”。開漏輸出與推挽輸出在外部鏈接上的區(qū)別如圖2-1所示。


圖2-1左圖為開漏模式輸出,需要外接一個上拉電阻才能得到輸出電壓,否則就不會有電壓的輸出,而右圖的推挽輸出可以直接得到輸出信號。
這里列舉一些需要使用開漏輸出模式的情況:
1)在使用I2C總線進行信號傳輸?shù)臅r候,由于協(xié)議的設計,必須使用開漏模式來輸出信號,這樣可以避免總線上多個設備傳輸信號產(chǎn)生沖突。
2)當需要輸出TTL(5 V)電平信號的時候。由于這個5 V的電壓高于了該芯片的電源電壓,所以具有5 V容忍能力的引腳沒法得到足夠高的電源電壓來輸出TTL信號。利用外部上拉電阻將輸出引腳連接到額外的5 V電源,能夠使得這些5 V容忍引腳向以TTL電平工作的芯片傳輸數(shù)據(jù)。
                                
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表