|
接腳 | 名稱 | 功能 |
---|---|---|
1 | +DATA | 資料 |
2 | Reserved | 保留* |
3 | GND | 地線 |
4 | Vcc | +5伏特直流電,可供應100毫安培的電流 |
5 | +CLK | 時脈(時鐘) |
6 | Reserved | 保留** |
參考出處:http://godspeedlee.myweb.hinet.net/mouse_lcm.htm 這是接上一個 PS/2 鍵盤後,按下 'B' 產生的鍵盤掃描碼。 其中 clock 永遠由 device 負責產生,clock 的頻率約在 10-16.7KHz,然後在 clock low 的時候把資料讀近來就行了。 |
觸點 | 功能(主機) | 功能(裝置) |
---|---|---|
1 | VBUS (4.75-5.25 V) | VBUS (4.4-5.25 V) |
2 | D- | D- |
3 | D+ | D+ |
4 | 接地 | 接地 |
PS/2 速度 = 16.7KHz、12Mbits/second,每秒取樣可達 200次(也就是約 5ms polling 一次)。 |
由於有接彈跳 (contact bounce) 的現象,因而幾乎不可能以機械開關得到“完美無瑕” 的電壓變化。由圖所示,將開關由位置1 扳至位置2,則在開關保持閉合於位置2 前,將因開關彈跳(數次觸及位置2 後再跳彈開) 而產生數次輸出電壓變化。 |
開關跳彈的時間一般是僅有數毫秒,但這在很多應用上是不被接受的。NAND 閘閂鎖可用以清除這種接觸跳彈的現象。利用圖說明NAND閘閂鎖如何清除“開關的接觸彈跳”現象。 |
0040550F |. A1 C0024100 mov eax,dword ptr ds:[4102C0] 這段代表將 DS 暫存 4102C0 字串壓入 eax 暫存器 00405514 |. 8B0D C4024100 mov ecx,dword ptr ds:[4102C4] 這段代表將 DS 暫存 4102C4 字串壓入 ecx暫存器 0040551A |. 894424 2C mov dword ptr ss:[esp+2C],eax 這段代表將 SS 暫存 esp 位移 2C 位元將字串從 eax 置入 0040551E |. 894C24 30 mov dword ptr ss:[esp+30],ecx 這段代表將 SS 暫存 esp 位移30 位元將字串從 ecx 置入 |
第一次(起始)壓入開啟(&E)字串值後 [ESP+34]的值是 00 00 00 00 所以顯示正常。 第二次是壓入 關閉(&D) 字串值 此時 [ESP+34]的值是 xx xx xx xx . . 第三次再壓入開啟(&E)字串值後 [ESP+34]的值是 xx xx xx xx 程式沒寫填充代碼(因原英文字串為 xx xx xx xx xx xx xx 00)顯示正常 程式把(原英文字串為 xx xx xx xx xx xx xx 00) 最後一個 00 視為字串值的分隔標誌。 使用偏移填充中文字串後為 xx xx xx xx xx xx xx xx 把最後一個 00 分隔標誌填充掉了,所以[ESP+34]的值 xx xx xx xx 也被當成是同一字串顯示出來 分析了解後知道是字串分隔標誌 00 問題 就可 Patch 代碼 [ESP+34]的值 xx xx xx xx 為 00 xx xx xx 既可 相等補上 00 分隔標誌。 |
0040CCEA C64424 34 00 mov byte ptr ss:[esp+34],0 將 0 填入 0013DE8C 區段做為字串分隔標誌 0040CCEF A1 C0024100 mov eax,dword ptr ds:[4102C0] 還原上方的原程式碼 0040CCF4 ^ E9 1B88FFFF jmp Keyboard.00405514 跳回原程式碼 0040CD01 00 db 00 0040CD02 00 db 00 |
留言共 12 篇留言
前一篇:[ADS 資料流工具] ... 後一篇:『模擬城市』夢幻大都會 ...