零件:上周鍵盤

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

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

聯繫

公共汽車海盜
鍵盤上的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

與Switch與Switch

Microsoft交易的新角色,並在其腰帶下擁有一個新的Android應用程序,並且稱為交易交換。如果名稱是任何類型的指示,您已經了解了它的作用。處理開關來自Microsoft車庫計劃。它使您可以將您的交易切換到別人的身體上。因此,請記住,如果您擁有Dwayne Johnson的屍體,您會如何看待自己看起來很棒?現在,您可以肯定地了解自己不會。或者,也許您只是希望準確地了解您在太空服中的外觀?當然,您不會躺在房子周圍,因此您現在可以利用Redmond的這個新應用來發現。您可以嘗試新的髮型,也可以成為超人。 這不是要陳述交換是一個新想法。以前有一些相似的應用程序來自較小的開發人員。但是看到它是從微軟那裡,人們希望它至少比我們已經擁有的要好得多。該軟件應用程序巨大聲明,該應用程序利用了與開關引擎的高級交易,這使得最終結果看起來更加自然。此外,在歷史性的活動中,微軟的新應用程序僅在截至目前才在Android上提供,iOS版本即將推出。我將為此提供指數。但是,這同樣有意義,因為當您擁有一個完全免費的應用程序時,您需要先進入群眾。 必須檢查:5個應用程序以在Android上的照片中添加模糊影響 下載交易交易 [Google Play url =“”/] 如何利用交易交換 面部開關易於使用。您只需拍攝一個自拍照,然後選擇一張圖片以切換面孔,最好是一個帶有人體的人。該應用程序將使您了解是否是刪除圖片。然後,您可以從畫廊中選擇一張圖片,也可以在應用程序中的互聯網上瀏覽它們。它使用bing瀏覽來將您的交易放在不應該的位置。您還可以從與交換有關的分類中選擇一個場景。 面部開關使您能夠匹配膚色,照明條件,頭轉彎以及傾斜等。如果您有才華,您甚至可能會欺騙人們相信您真正進入太空。該應用程序可以立即在圖像中找到面孔,而不是工程學的新成就,但是有幫助。除了完全相同的場景中的幾個面外,它同樣可以位置您的開關。 不要錯過:為Android的5個最好的圖片編輯應用程序 目前,面部開關僅在美國,澳大利亞,印度以及加拿大等選定的市場中提供。如果該應用程序取得成功,則該業務也可以在其他市場中發布。沒有消息說這是否正是這種情況或何時發生的情況。 如果您選擇嘗試一下,請讓我們在評論中理解您對此的信念。而且您可能會發現有人愚弄嗎? 閱讀下一篇:2019年Android的10個最佳畫廊應用程序

READ MOREREAD MORE

如果您碰巧是900多百萬張註冊的Facebook成員之一,並且是iPhone的敏銳用戶,那麼下個月即將推出的iPhone應用程序全新的Facebook facebook,下個月即將進行“快速快速”的性能如果您碰巧是900多百萬張註冊的Facebook成員之一,並且是iPhone的敏銳用戶,那麼下個月即將推出的iPhone應用程序全新的Facebook facebook,下個月即將進行“快速快速”的性能

您知道Facebook的移動應用程序經驗。官方的Facebook應用程序已經在iPhone和iPod Touch上已經存在了一段時間,並且在此過程中經歷了一些設計的更改,但是當我們談論整體性能時,它並沒有變得更好。 實際上,當它涉及性能時,較早的功能較少的版本明顯好於今天通過官方App Store船舶基於Palto Alto的社交網絡龐然大物。每次我們加載應用程序商店並看到可用的Facebook更新時,我們的小眼睛都會亮起來,而我們的心則是擁有一個應用程序(值得)的應用程序的前景。不幸的是,那一刻尚未到來。 不過,這並不全都注定要浪費,因為一些好消息可能會出現,儘管尚未得到任何官方Facebook消息來源的確認。至少公開。如果要相信《紐約時報》的男人,那麼似乎Facebook即將發布一個應用程序,該應用程序響應成千上萬的不滿的用戶,這些用戶已進入App Store Review System,以抱怨當前應用程序的慢速加載時間和通常無法加載任何內容。 根據該報告,兩名內部Facebook工程師已經提出了公司計劃推出新版本的iOS應用程序的蓋子,該應用程序已完全從頭開始重建一個目標 – 要成為一個目標 – 成為快速的目標,”準確地說。儘管尚不清楚特定且詳盡的細節,但工程師詳細闡述了一定程度,以至於我們知道新應用將主要是使用本機Objective-C語言而不是當前位於iOS殼中的HTML5構建的。 在所有那些喜歡Facebook的iOS用戶對此版本都感到興奮之前,看來幕後的東西就是所有的東西,這意味著最終用戶只會看到急劇的速度和性能提高。但這總比沒有好,對嗎? 如果新應用程序被證明是同樣快的,那麼它應該向內部的Facebook決策者表明一個觀點,即選擇諸如HTML5之類的跨平台語言並不總是取悅實際人的最佳方式物質 – 最終用戶。 您可以在Twitter上關注我們,將我們添加到Google+上的您的圈子中,或者喜歡我們的Facebook頁面,以使自己了解Microsoft,Google,Apple和Web的最新信息。

READ MOREREAD MORE

去年晚些時候,OnePlus One去年晚些時候,OnePlus One

的前3個Lollipop Custom ROM,一家名為OnePlus的業務揭示了其第一張旗艦設備,即One。 OnePlus One被極度大肆宣傳,並且在發布後,完全值得等待。 OnePlus One以極為經濟的成本支架包裝野獸規格。它的一些亮點是它由Snapdragon 801芯片組提供動力,並帶有3GB RAM。玩家,這個小工具是適合您最需要的產品,因為OnePlus One將Adreno 330作為GPU。 我本人已經使用OnePlus One一個月了,而且我必須說,這確實是一種旗艦設備。 OnePlus One在Advand Android用戶中是如此突出,因為它帶有Cyanogenmod 11s,即開箱即用的自定義ROM。人們可以理解Cyanogen幾乎可以個性化您喜歡的任何東西的能力。 OnePlus的專長是它包含大量出色的氰基特徵,甚至不需要根。 但是,Cyanogen保證在初步釋放後的90天內釋放Android Lollipop(CM 12S)。 90天的時間段已經到期,以及許多人提供希望的人。如果您是這些人之一,並且想在OnePlus上體驗Android Lollipop,那麼本指南會特別為您提供!在本文中,我們將評估在最新的Android Lollipop上運行的OnePlus One的最佳自定義ROM。讓我們直接進入它! 要求: 一個帶有解鎖引導加載程序的OnePlus。 您的OnePlus必須植根。 安裝了自定義康復(我們建議TWRP)。 如果您尚未紮根,並且在OnePlus

READ MOREREAD MORE