W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
盡管并口簡單, 它能夠觸發(fā)中斷. 這個能力被打印機用來通知 lp 驅(qū)動它準備好接收緩存中的下一個字符.
如同大部分設(shè)備, 并口實際上不產(chǎn)生中斷, 在它被指示這樣作之前; 并口標準規(guī)定設(shè)置 port 2 (0x37a, 0x27a, 或者任何)的 bit 4 就使能中斷報告. short 在模塊初始化時進行一個簡單的 outb 調(diào)用來設(shè)置這個位.
一旦中斷使能, 任何時候在管腳 10 (所謂的 ACK 位)上的電信號從低變到高, 并口產(chǎn)生一個中斷. 最簡單的方法來強制接口產(chǎn)生中斷( 沒有掛一個打印機到端口 )是連接并口連接器的管腳 9 和 管腳 10. 一根短線, 插到你的系統(tǒng)后面的并口連接器的合適的孔中, 就建立這個連接. 并口外面的管腳圖示于圖并口的管腳
管腳 9 是并口數(shù)據(jù)字節(jié)的最高位. 如果你寫二進制數(shù)據(jù)到 /dev/short0, 你產(chǎn)生幾個中斷. 然而, 寫 ASCII 文本到這個端口不會產(chǎn)生任何中斷, 因為 ASCII 字符集沒有最高位置位的項.
如果你寧愿避免連接管腳到一起, 而你手上確實有一臺打印機, 你可用使用一個真正的打印機來運行例子中斷處理, 如同下面展示的. 但是, 注意我們介紹的探測函數(shù)依賴管腳 9 和管腳 10 之間的跳線在位置上, 并且你需要它使用你的代碼來試驗探測.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: