發表文章

目前顯示的是 11月, 2019的文章

Silicon labs Simplicity IDE add new plugin

圖片
1. 在 Help -> Help contents 搜尋 Install New Software 即可進入同Eclipse 的操作介面

Eclipse Vim plugin

插件安裝: 打開 eclipse->help->Install New Software 貼上網站在 Work with Work with:http://vrapper.sourceforge.net/update-site/stable 稍等片刻,勾選 Vrapper ,一路 next , next next , accept 。最後 restart eclipse 就可以在 eclipse 上看到 gvim 的圖示,點擊就可以使用 Vim 模式編輯了。 Vrapper: http://vrapper.sourceforge.net/home/ ————————————————

USB HID 教學 #3 (轉載)

這是「 HID Report Descriptor 教學 」這系列的第三篇。這次要講的是 USB 鍵盤。 keyboard 範例 我們將製作一個標準鍵盤,標準鍵盤會包含 101 個按鍵、8 個組合鍵 (modifiers)、1 個 OEM 保留鍵以及 5 個指示燈 (LED Indicators)。也就是說,我們要送按鍵的資料給 host,這會需要:一個 bit 代表一個組合鍵,一個 byte 代表 OEM 保留鍵,而一個 byte 代表一個按鍵敲擊 (keystroke)。根據 HID Device Class Deinifition 文件,標準鍵盤似乎最多可以同時按下 6 個按鍵,但有沒效我想是作業系統說了算。所以,我們需要像這樣的資料結構: Byte Description 0 Modifier keys 1 Reserved 2 Keycode 1 3 Keycode 2 4 Keycode 3 5 Keycode 4 6 Keycode 5 7 Keycode 6 其中,組合鍵包括從鍵盤左邊的 Ctrl、Shift、Alt、GUI (WIN 鍵) 到右邊的 Ctrl、Shift、Alt、GUI (WIN 鍵) 總共 8 個按鍵。而 Byte 1 是 OEM 保留鍵,一般是填 0。 另外,host 也可以送資料給鍵盤,用來控制鍵盤上的 LED,標準鍵盤上有 5 顆 LED (並非每個鍵盤都如此,大部份只有 Num Lock, Caps Lock 和 Scroll Lock 這三顆 LED),因此我們需要一個 byte 來儲存 LED 的設定資料: Bit Description 0 Num Lock 1 Caps Lock 2 Scroll Lock 3 Compose 4 KANA 5-7 Constant 在 C 語言中資料結構會是這樣: 1 // data structure for boot protocol keyboard report 2 // see HID1_11.pdf appendix B section 1 3 typedef   struct   { 4      uint8_t modifier; 5      uint8_t