最近做了一個3D打印的RC遙控車。然后就想着用xbox手柄控制小車的前進和轉向吧,於是就用surface平板接收收手柄的數據,然后通過串口的2.4G模塊傳輸數據,看上挺簡單的,其實本身也挺簡單的。
我要講的重點就是接收手柄數據的程序是個WinUI程序,為什么用WinUI呢,當然是因為我對UWP稍微熟一點,所以寫WinUI比wpf要熟練,其次WinUI項目模板是基於.net5封裝的,所以對於.net的一些庫也是可以直接用的,當然UWP的庫也是可以直接用的。
WinUI控制程序的項目地址
下面是小車的運行視頻。
WinUI項目的引入的包如下圖

直接是一個System.IO.Ports庫,這個庫可比UWP自帶的串口庫好用多了,之前用的UWP的,一點都不自由,而且這個庫提供的api是跨平台的,雖然沒試過,但是串口操作放到linux樹莓派上肯定也是可以跑的,當然也是需要安裝dotnet的運行時的。

項目運行起來的樣子如上圖所示,項目是用的之前國外的一個老哥的UWP讀取手柄數據的項目改的,我的話就是將串口讀寫加進去了,測試了是可以用的,很期待Windows App SDK1.0的發布,那樣性能應該很好很多。

