Android(Linux)即時監測串口資料

來源:互聯網
上載者:User

標籤:

    之前在做WinCE車載方案時,曾做過一個小工具TraceMonitor,用於顯示WinCE系統上應用程式的調試資訊,特別是在實車調試時,用於顯示CAN盒與主機之間的串口資料。因為需要搶佔市場先機,經常在新車上市前,就得配合CAN解碼盒廠商同步調試車機端軟體。這時候,TraceMonitor就可能派上大用場。遇到說不清是哪一邊的問題時,抓資料一看,就清清楚楚了。有時終端客戶的機器出現了原車功能異常的問題,也可以直接運行該工具,即時抓取串口資料提供給我們以分析問題原因。不過該工具需要商務應用程式做特殊處理,不具備通用性,並且是在應用程式層實現,使用時可能會對效能有影響,但比沒有強了。有一次跟GYP一起調試RK3188安卓車載導航,車機端始終收不到資料,硬體工程師說CAN盒肯定會發,糾結半天,最後只能用USB轉串口板接出來在電腦上看,資料是有的,但框架格式不對。如果Android上也有一個可以即時抓取串口資料的工具就方便多了。

    前文《Android(Linux)線路規程的使用》中已經提到,在調整Android底層串口通訊的架構時使用了線路規程,意外發現可以很方便地在驅動中監測串口收發的資料,再寫一個應用配合顯示就可以了。說幹就幹,折騰點小工具,方便自己,也方便別人。

    思路有了,實現並不複雜,先寫一個字元驅動bonovo_mon,用於緩衝線路規程裡發送和接收到的資料,應用程式ComMon則使用FileInputStream讀取字元裝置資料並顯示。為了使用時方便,實現了資料幀過濾、十六進位顯示、資料儲存、發送儲存的資料到指定郵箱等功能,比WinCE下的TraceMonitor強大不少,可以監測通訊串口上的所有資料,業務APP無需做任何特殊處理,而且僅在字元驅動bonovo_mon被開啟時才向線路規程註冊請求快取資料,所以不運行ComMon時,對系統幾乎沒有任何影響。

    ComMon的介面及主要功能的使用如下所示。

    

Android(Linux)即時監測串口資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.