全部學習匯總: GreyZhang/g_serial: Some serial learning notes which may be usefull in embedded system debugging. (github.com)
現在,串口的基礎環境已經搭建起來了。模擬環境下也進行了初步的測試了,接下來得進入實戰環節。我使用串口,現在比較需要的一個功能其實是支持我在嵌入式的軟件中通過printf來打印我想了解的軟件狀態或者信息。接下來,可以先嘗試實現這樣的一個功能,以後直接把這個功能集成到我自己的開發環境中優化一下自己的工作流程。
初步的功能調試,我想先實現一個串口數據的讀取以及顯示。調試其實很簡單,我的手裡有Arduino,可以很方便提供這樣的信息模擬。接下來,我將嘗試使用Arduino不斷輸出一行“hello python serial world!”的信息,看看是否能夠通過pyserial讀取到。
接下來,Arduino的代碼實現如下:
到此,多少還是有一點覺得Arduino有很高的便捷之處。要是想快速做一些簡單的控制以及測試,這可真是一個好的作品。其實,折騰串口很多時候也是收到了Arduino的影響。我很希望我自己的開發調試環境能夠像Arduino這麼便捷。
這是Arduino的串口監控工具看到的打印信息,如果稍後我的調試順利,我也應該得到一個類似的效果才對。
這個是的python的代碼實現,我設計了一個死循環,不斷去讀取來自於串口的信息,如果能夠讀到那麼就原封不動打印出來。為了能達到同樣的一行行的顯示效果,打印的時候去掉了默認的換行結尾。
結果很令人欣喜,我得到了期待中的顯示效果。如果有了這樣的信息,其實後面就可以直接扔掉串口工具了。不僅顯示可以這麼做,我還可以直接把接收到的結果記錄到log文件裡面,或者增加一些諸如時間戳的信息。使用python,又是基於PC的環境,可以增加的內容還是很多。後面,我就嘗試一下把這樣的功能做出來體驗一下。