Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Android(Linux)實時監測串口數據,android實時監測

Android(Linux)實時監測串口數據,android實時監測

編輯:關於android開發

Android(Linux)實時監測串口數據,android實時監測


    之前在做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_TTY_MON

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved