ReadAir HamCQ目前暫不支持影片上傳,我計畫在完成基本功能後,將樣機展示的影片上傳至B站(年前),圖片所示是計畫在這個版本中實現的所有功能,如果大家有任何建議,可以在這裡留言,我也會在這個版本或下個版本中更新到這個小工具中。你們的呼號也會留在小工具的感謝區,哈哈。
BI4IRZ 單片機的運算能力有限,尤其是在記憶體方面非常寶貴,因此不建議使用複雜的演算法。可以使用 32 位整數陣列來表示摩爾斯碼表: 0b101110000000000000000000,// A 0b111010101000000000000000, // B 0b111010111010…… 無論是「匹配」還是「播放」,都可以使用一個變數來循環將位元向左移一位進行比較,直到變為零結束。
BG5VLI BI4IRZ 没太明白,请问这个二进制串中的01是分别指的点划的拍发时长吗?比如说A是.-对应0111,这样的话对于自动键好像是没有必要的,因为自动键本身不依靠拍发时长区分点划,重点应该是通过按住的时长判断连续发出多少个点或划。您那个0111应该代表j了。 您的算法效率好像比bst好不少,不用递归查找还省空间,就是拍发匹配时会慢点。学习了。
BI4IRZ 無論是鍵盤還是電鍵,對於單片機來說,只需要在設定的速度下偵測是否按下狀態,直到連續兩個以上的「0」被視為字母的結束,才需要去循環查詢表來匹配輸入的字元。對於百兆處理器的來說,這點差異微不足道。而且二叉樹並非完全滿樹,有符號的葉節點是懸空的。 如果真的要糾結在速度上,就建立一個排序後的索引,使用中間值法快速查詢,效率應該會超過遞迴搜尋樹。
ReadAir 第一個影片已經上傳到 B 站。這個版本沒有進行 UI 設計、耳機輸出或設定頁面的啟用,會在過完新年後繼續完善!祝大家新年快樂! 影片連結:https://www.bilibili.com/video/BV1PC41167M9/