READPORT


語法

        Result = READPORT Port

 

        如果連接埠號碼是一個常數, 你也可以使用下列的形式。

        Result = READPORT0

        Result = READPORT1

        Result = READPORT2

 

操作

        讀取指定的I/O埠。

  • Port 常數或變數值(0 ~2),用來定義連接埠的號碼。連接埠0包含引腳 P0~P7,連接埠1包含引腳 P8~P15,以及連接埠2包含引腳 P16~P23。對一個24引腳的BASIC Commander®而言,連接埠的值為 01
  • Result 一個位元組變數,用來接收連接埠上的外部邏輯值。

 

說明

        READPORT指令是用來讀取外界的數位訊號。不同於IN指令,使用本指令時,引腳的I/O模式不會自動被改變為輸入模式。對於READPORT指令,總共有8個引腳參與其中,每一個引腳都可以設為輸入或輸出模式。所以你必須要明確的設定每一個位元。索引值比較小的引腳是存比較低位元順序的資料。

 

        請注意,當I/O引腳被設定為輸入模式時,建議每一個引腳都連接到一個10K歐姆的提拉電阻。否則由於這些引腳的高阻抗浮接狀態,I/O引腳可能會被隨機的讀成10而無法反應出引腳上真正的數位訊號。

 

        對於設為輸出模式的引腳部分,從這些引腳無法讀取真正的I/O引腳狀態,僅能讀出之前寫入輸出引腳的資料。

 

範例

        所有8個連接埠0I/O引腳都連接了10 K歐姆的提拉電阻並且8個按鈕連接到地線。如果任何引腳被按壓,你可以用這個程式來偵測。
 

Sub Main()

    Dim IOStatus As Byte
   
   
SETDIRPORT1(&B11111111) ' set Port 1 as Input
    SETDIRPORT0(&B00000000) ' set Port 0 as Output
   
   
Do
        IOStatus =
READPORT1()
       
WRITEPORT0(IOStatus)
   
Loop
End Sub