デモのソースコードを含むアンドリュースシリアル開発ライブラリ

アンドリュースシリアル開発について、この記事は非常に明確です:

https://blog.csdn.net/qq_35952946/article/details/78863871

しかし、このプログラムコードのエラーで:

ます。java.lang.UnsatisfiedLinkError:失敗のdlopen:××××の.so:テキストの再配置を持っています

コンパイラファイルが古すぎるためです。

次の例のソースコードは、上記問題点を変更し、動作、実証例を提供します。

どのように使用するには:

シリアルポートのリストを取得します。

SerialPortFinder serialPortFinder =新しいSerialPortFinder(); 
serialPortFinder.getAllDevicesを返します();

  

オープン/クローズシリアルポート:

/// DEV / ttyS1の番号、シリアル番号、実際の条件に基づいて、後ろ
;最終SerialPortUtils portUtils新しい新しいSerialPortUtilsの=( "は/ dev / ttyS1の"、57600,0)
portUtils.openSerialPort();
portUtils.closeSerialPort();

  

処理データが受信します:

//イベントリスナーシリアルデータ
        portUtils.setOnDataReceiveListener(新しい新しいSerialPortUtils.OnDataReceiveListener(){ 
            バイト[] mBuffer; 
            ハンドラハンドラハンドラ新しい新=(); 

            @Override 
            公共ボイドonDataReceive(バイト[]バッファ、int型のサイズ){ 
                Log.d(TAG "データは、受信された:" + Byter.byteToHex(緩衝液)); 
                // 
                //直接操作は、UIスレッドの例外が報告される:ViewRootImpl $ CalledFromWrongThreadException 
                //溶液:ハンドラ
                // 
                mBuffer =緩衝液; 
                handler.post(Runnableを); 
            } 
            //オープンスレッドはUIを更新する
            のRunnable Runnableを新しい新しい= Runnableを(){
                @Override
                ます。public void実行(){ 
                    recvContent.setText( "サイズ:" + String.valueOf(mBuffer.length)+ "数据监听:" + Byter.byteToHex(mBuffer)); 
                } 
            }。
        });

  

コードファイルのアップロード後に

 

おすすめ

転載: www.cnblogs.com/lifang-biz/p/11770299.html