stm32
開發板連接滑鼠。
與lab2寫在一起。
開發板連接鍵盤。
新增兩個執行序,賦予它執行mouse_task
與keyboard_task
的task(subfunction),當接收到滑鼠或是鍵盤的event時
會觸發程序員自定義的onMouseEvent
,onKey
處理函式。
這次利用鍵盤和滑鼠讓stm32,讀取USB的輸入值,同樣是利用之前thread
的原理,stm32接收到讀取值後,再達成對應的實作要求。官方已有釋出attach()
的基本使用方式,只要在thread
執行程序中,添加LED的亮燈即可。實驗中也發現,若使用藍芽滑鼠,其滑鼠的x、y、z座標會無法顯示,可能是藍芽和USB的傳輸協定不同所造成。這次實驗並沒有比較了解USB之傳輸方式,只是知道stm32能讀取滑鼠和鍵盤的資訊而已。
此次實驗主要在熟悉stm32與USB的搭配使用,雖然一樣是使用thread
進行,但是難度以及複雜度很明顯低於上兩次的實驗,雖然此次實驗較快做完但和上次一樣不太能確定學到了什麼。
最後一次實驗能感覺到難度已大幅降低,學習使用USBHost這個library,首先是創建一個thread,也就是一個task,當接收到滑鼠或是鍵盤的event時,就會呼叫我們自定義的函數,完成任務。
關於原理的部分,USB是一種數據通信方式,分為這次實驗的Host與OTG。