零件:上周鍵盤

我們推出了一個新版本的總線海盜通用串行接口工具。最後一個固件更新包括兩個硬件版本的鍵盤解碼器庫。

在鍵盤上有一大噸舊的舊柵欄。我們將向您展示如何作為下一個項目的輸入設備回收一個。

聯繫

公共汽車海盜
鍵盤上的PC(PIN#)

SDA.
KBD數據(3)

SCL.
KBD時鐘(1)

+ 5Volts.
VDD(5)

GND.
GND(2)

在鍵盤上通過雙向雙線接口進行通信。公共汽車是開放的收集器,但鍵盤已經有內部上拉電阻。此處描述了鍵盤協議處的PC。我們使用我們的總線海盜工具來展示鍵盤協議,但相同的基本原理適用於任何微控制器。

如表中所述,我們將總線海盜連接到鍵盤。我們認為這是鍵盤插孔的通風女性,但我們還沒有評估它。你知道新插座的來源嗎?

協議

鍵盤為所有數據傳輸提供時鐘信號; PC側類似於從設備。沒有現有的總線海盜接口庫與外部時鐘一起使用,因此我們在鍵盤解碼器庫中寫了一款簡單。庫取決於鍵盤的時鐘信號,如果鍵盤故障或未連接,則會掛起。如果在自己的項目中使用我們的庫,請考慮在Readbit()和WriteBit()函數中添加超時延遲。

PC到鍵盤命令代碼

代碼
命令

0xed.
設置狀態LED.

0笑
echo 0xee.

0xF0.
設置scancode類型

0xF3.
設置重複率

0xF4.
鍵盤使能

0xF5.
鍵盤禁用

0xFE.
重新發送最後一個字節

0xFF.
重置鍵盤

PC使用這些命令來控制鍵盤上的各種功能。鍵盤響應具有確認字節(OXFA)的命令。在我們的經驗中,如果在命令發送後不久,不久會讀取反應字節,則將重置鍵盤。

鍵盤到PC反應代碼

代碼
回复

0xFA.
承認

0xAA.
自我測試通過了

0笑
迴聲響應

0xFE.
重新發送最後一個字節

0x00或0xff
錯誤或緩衝區溢出

鍵盤有許多單個字節反應代碼。許多PC命令用0xFA確認。 0xAA在鍵盤復位後發送。

設置總線海盜

Hiz> M.
1.艾特
……
9.鍵盤上的PC
模式> 9 <-set模式 900模式集 KB解碼器準備好X02 PC 鍵盤上的電腦>

首先,我們在鍵盤模式下設置總線海盜,選項9。

鍵盤上的電腦> P <-Power供應設置 w / w切換3.3 volt電源? 否 2.是的 模式> 1 <-NO 3.3VOLT供電 w / w切換5 volt電源? 否 2.是的 模式> 2 <-USE 5VOLT電源 9xx供電配置,使用w / w切換 9xx電壓監控:5V:0.0 | 3.3V:0.0 | vpullup:0.0 | 鍵盤上的電腦> W <-Capital'W',轉動供應 9xx 5Volt供應 鍵盤上的電腦>

接下來,我們配置總線海盜的電源,為鍵盤提供5Volts。

鍵盤上的PC>鍵盤中的R <-READ BYTE X30 PCATKB讀取:無<-no數據可用 鍵盤上的電腦>

鍵盤庫遵循標準總線海盜語法。數值被發送到鍵盤為字節,“R”從鍵盤讀取一個字節。協議由鍵盤時鐘計時,因此禁用按位操作。如果沒有數據可用,則讀取將返回“無”。

設置鍵盤

鍵盤上的PC> 0xee R <-SEND 0xee,讀取一個字節 x20 pcatkb寫:0xee get ack <-write Oxee,得到了一點 x30 pcatkb閱讀:0xee <-read 0xee,Echo成功 鍵盤上的電腦>

我們可以使用echo命令0xee測試與鍵盤的連接。如果我們的連接正確,則鍵盤將響應0xee。

鍵盤響應具有協議級別的ACK位的命令,然後使用Ack字節進行響應。我們發現,如果在發送命令後沒有立即讀取ACK字節,我們的測試鍵盤會自動復位。

鍵盤上的PC> 0xee <-Echo命令 x20 pcatkb寫:0xee get ack <-wrote echo,get ack 鍵盤上的PC> R <-READ一個字節 X30 PCATKB讀取:0xAA <-READ 0xAA,重置指示燈 鍵盤上的電腦>

在這裡,我們嘗試發送echo命令,然後稍後閱讀回复。鍵盤自動復位並回复0xAA,通過進行自檢。

鍵盤上的PC> 0xFF r r <-reset命令,讀取兩個字節 x20 pcatkb寫入:0xff get ack <-write reset命令,get ack X30 PCATKB讀取:0xFA <-Command Ack字節 x30 pcatkb讀取:無< - 再次才能重置 鍵盤上的電腦>

通過編寫命令0xFF並讀取兩個字節來重置鍵盤。鍵盤不會重置,直到讀取第二個字節。

鍵盤上的PC> R <-READ一個字節 X30 PCATKB閱讀:0xAA <-RESET成功 鍵盤上的電腦>

重置後的短時間我們可以讀取自檢的電源(POST)結果,0xAA表示發布成功。

鍵盤上的電腦> 0xF5 R <-Disable鍵盤 x20 pcatkb寫入:0xf5 get ack <-wrote命令 X30 PCATKB讀取:0xFA <-read ACK字節 鍵盤上的PC> 0xF4 R <-ENABLE鍵盤 x20 pcatkb寫入:0xf4 get ack <-wrote命令 X30 PCATKB讀取:0xFA <-read ACK字節 鍵盤上的電腦>

0xF5 DisaBLES鍵盤輸入。 0xF4啟用鍵盤並清除緩衝區。

鍵盤上的PC> 0xed R 0B111 R <-SET指示燈LED X20 PCATKB寫入:0xed GOT ACK <-SET LED命令 X30 PCATKB讀取:0xFA <-Command確認 x20 pcatkb寫入:0x07 get ack <-send LED值 X30 PCATKB閱讀:0xFA <-Value確認 鍵盤上的電腦>

NUM,CAP和滾動鎖定LED由0xED命令控制。第二個字節(OB111)的最後三位指示燈指示燈。執行鍵盤超時期間的所有四個字節操作,或者將重置鍵盤是至關重要的。

鍵盤上的PC> 0xee R <-Echo測試命令 x20 pcatkb寫:0xee得到了ack X30 PCATKB閱讀:0xee PC在鍵盤> 0xFE R <-Repeat最後一個字節命令 X20 PCATKB寫入:0xFE GOT <-WRITE REPEAT命令 x30 pcatkb讀取:0xee <-Previous字節重複 鍵盤上的電腦>

最後一個有趣的鍵盤命令是重複字節命令。 0xFE使鍵盤再次發送最後一個字節。如果先前傳輸中存在錯誤,這是一個有用的命令。

閱讀基本印刷機

鍵盤緩衝按鍵,直到我們讀取它們。

鍵盤上的PC> R <-READ BYTE X30 PCATKB讀取:0x29 <-space scancode 鍵盤上的PC> R <-READ BYTE X30 PCATKB讀取:0xF0 <-Key釋放scancode 鍵盤上的PC> R <-READ BYTE X30 PCATKB讀取:0x29 <-space scancode 鍵盤上的電腦>

一個基本新聞發出掃描,代表基本印刷機的多字節序列。在該示例中,我們按下了具有Scancode 0x29的空間。當一個必不可少的釋放時,鍵盤向Essent(0x29)發送0xF0和Scancode。每個基本新聞都會產生類似的三個部分序列。

鍵盤上的PC> R:4 <-read 4字節 X31 PCATKB批量讀取,0x04字節: 0x29 0xF0 0x29 none <-space scancode 鍵盤上的電腦>

這只是前一個示例的簡化版本。我們使用批量讀命令而不是單獨閱讀三個字節。再次,我們得到了空間掃描序列。我們嘗試讀取不存在的第四個字節失敗。

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

iPhone 6可能無法防水,但是它可以通過扣籃(視頻]iPhone 6可能無法防水,但是它可以通過扣籃(視頻]

到達幾年前,它的智能手機耐水性只是一個夢想,然而,現在索尼和三星都處於提供小工具的最前沿,這些小工具不僅是以鴨子般的方式倒入水的,而且同樣也很高興也很高興能在塵土中徘徊。當蘋果在幾週前透露它們時,水和抗塵能力也是許多人真正希望新iPhone的功能,但是事實並非如此。 但是,有趣的是,當ifixit將兩個小工具分開時,他們發現了蘋果兩台旗艦智能手機中的一些重要零件的橡膠墊圈。人們認為,這是一種嘗試僅延長市場上兩台更昂貴的智能手機的壽命。現在,遵守保證公司Squaretrade的一些相當寧願進行測試,蘋果似乎做得比我們想像的要好得多。 渴望看到iPhone 6以及iPhone 6 Plus在水中浸入水中的表現如何,Squaretrade做了我們任何人都沒有足夠的事情來做到足以做到的事情,每台手機之一在水桶中倒入一整桶水秒。雖然很長,但十秒鐘的時間仍比我們期望的煙霧陷入困境之前要長,然後才能安全地挖出水面,因此這仍然是我們眼中的有效測試。 結果不言自明。儘管有一些音頻打ic,但這兩款手機卻沒有任何類型的大驚小怪。當然,我們只需要希望在未來幾天都沒有電話會產生錯誤,因為正如我們所有人所知道的那樣,水可以為電子產品做一些不尋常的事情。 蘋果本身當然不確定這兩個新iPhone能夠忍受水的能力,否則它本來可以確定它像其他生產商一樣熱衷於做的能力。儘管如此,我們仍然對我們感到滿意的是,我們感到很高興,因為他們沒有游泳,我們的新智能手機畢竟可以通過秋天進入浴缸。 不過,我們不會測試它以發現! 您可能同樣喜歡檢查: Bendgate:顯然您可以用裸手彎曲iPhone 6 Plus [視頻] 您可以在Twitter上遵守我們,在Google+上添加我們到您的圈子中,或者喜歡我們的Facebook頁面,以使自己對Microsoft,Google,Apple以及Web的最新信息保持最新信息。

READ MOREREAD MORE

iPhone X / Edition預訂將於9月15日開始[報告]iPhone X / Edition預訂將於9月15日開始[報告]

蘋果在9月12日舉行媒體活動時,我們幾乎可以100%確定,將與新的iPhone一起宣布三個新的iPhone還有一部刷新的Apple TV,但我們尚不知道的是,所有這些產品都可以向期望的公眾提供。 一個相當安全的賭注是,Apple TV和Apple View更新可能會立即通過Apple Store提供,或者至少在一天左右的時間內可用,但是當它涉及iPhone時,過去的體驗會暗示一周或很多在設備在商店中之前,將會通過更多。 不過,這是iPhone,肯定會有一個時期至少可以放置iPhone X/Edition的預訂,並且根據新的報告,該報告將於9月15日開始。該報告由德國網站提供Macerkopf引用了兩個不同的運營商作為其聲稱的來源,這將是iPhone預訂窗口,在大公告後幾天開始,9月15日是他們分享的日期。 這將與前幾年聯繫在一起,我們看到蘋果今年改變其模式的理由很少。雖然iPhone X/Edition是德國人討論的電話,但我們希望在9月12日宣布的所有iPhone中使用相同的預訂窗口,雖然所有三個都可以同時發布,但先前的報告建議任何想要拿起旗艦iPhone的人都需要快速脫穎而出。至少可以說,大約1,000美元iPhone的股票預計將受到限制。 關於這一特殊的iPhone公告,我們已經忍受了幾個月的謠言和猜測,隨著我們越來越接近大日子,我們迫不及待地想最終回答了所有問題。 然後,我們可以想知道2018年將宣布什麼的公司! (來源:Macerkopf [Google Translate]) 您可能還想檢查一下: 直播Apple iPhone 9月12日9月12日,關於Android,Windows,iOS,Apple TV的活動主題演講,這就是方式 下載:iOS 11 Beta 10 IPSW和OTA更新,用於發布的開發人員 iOS 11中的新事物:與家人共享iCloud存儲 m4u kodi addon不起作用?這是在2017年安裝的方法

READ MOREREAD MORE

Leaker表示,我們可以期待WWDC21活動Leaker表示,我們可以期待WWDC21活動

蘋果將在短短兩週內舉辦年度WWDC活動,而通常不是我們看到大量硬件正在宣布,但似乎這似乎不是這樣一年可能是例外。 根據洩漏者喬恩·普羅瑟(Jon Prosser)的說法,我們可以期望在開幕主題演講中至少宣布某種新的MacBook Pro。 儘管Prosser並未詳細介紹該新的MacBook Pro將是什麼,但我們一直在聽到有關最近一本新的High0end Notebook的謠言。據認為,13英寸和16英寸版本都搭配新的Apple M1X芯片。經過重新設計的底盤也被認為是傳入的。 彭博社的馬克·古爾曼(Mark Gurman)最近報導說,新的MacBook Pro將是一家強國,最高為64GB RAM和一些令人印象深刻的核心計數-10。 對於新的MacBook專業人士,蘋果正在計劃兩種不同的芯片,代號為Jade C-Chop和Jade C-Die:兩者都包括八個高性能核心和兩個節能核心,總共10個,但將在16個中提供。或32個圖形核心變化。 高性能的核心啟動了更複雜的工作,而節能核心則以較慢的速度運行,以獲得更基本的需求,例如網絡瀏覽,保留電池壽命。新的芯片與M1的設計不同,M1的設計具有四個高性能核心,四個節能核心和八個圖形核心在當前的13英寸MacBook Pro中。 蘋果幾乎可以肯定會在6月7日開放主題演講中宣布iOS,macOS,iPados,WatchOS和TVO的新版本。我們將不得不拭目以待,看看新的MacBook Pro是否加入了它們。 您可能還想檢查一下: 下載:iOS 14.6最終IPSW鏈接,OTA配置文件以及iPados 14.6發布 越獄iOS 14.5.1使用checkra1n,以下是方法[指南] 如何降級iOS 14.6和iPados 14.6 [指南] 如何修復不良iOS

READ MOREREAD MORE