久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3043|回復: 0
打印 上一主題 下一主題
收起左側

Android串口顯示加+MVAndroidchart圖表

[復制鏈接]
跳轉到指定樓層
樓主


1.串口使用   

  1.     private fun openSerialPort(){
  2.         serialPortFinder = SerialPortFinder()
  3.         serialHelper = object : SerialHelper() {
  4.             override fun onDataReceived(comBean: ComBean) {
  5.                 runOnUiThread {
  6. //                    Toast.makeText(
  7. //                        baseContext,
  8. //                        FuncUtil.ByteArrToHex(comBean.bRec),
  9. //                        Toast.LENGTH_SHORT
  10. //                    ).show()
  11.                     /*
  12.                     * TODO 將獲取的數據進行列表適配
  13.                     * */
  14.                     map = HashMap()
  15.                     (map as HashMap<String, Any>)["Value"] =comBean.sRecTime + ":   " +
  16.                             ByteUtil.hexStringToString(ByteUtil.bytesToHexString(comBean.bRec))
  17.                     list.add(map as HashMap<String, Any>)
  18.                     Handler(Looper.getMainLooper()).postDelayed({
  19.                         /**
  20.                          * 列表數據的溢處理已經適配
  21.                          * */
  22.                         if (list.size>12){
  23.                             map = list[0]
  24.                             list.remove(map)

  25.                         }
  26.                         initAdapter()
  27.                     }, 300)

  28.                 }
  29.             }
  30.         }

  31.         //獲取串口地址
  32.         val ports = serialPortFinder!!.allDevicesPath
  33.         //設置波特率地址
  34.         val botes = arrayOf(
  35.             "0",
  36.             "50",
  37.             "75",
  38.             "110",
  39.             "134",
  40.             "150",
  41.             "200",
  42.             "300",
  43.             "600",
  44.             "1200",
  45.             "1800",
  46.             "2400",
  47.             "4800",
  48.             "9600",
  49.             "19200",
  50.             "38400",
  51.             "57600",
  52.             "115200",
  53.             "230400",
  54.             "460800",
  55.             "500000",
  56.             "576000",
  57.             "921600",
  58.             "1000000",
  59.             "1152000",
  60.             "1500000",
  61.             "2000000",
  62.             "2500000",
  63.             "3000000",
  64.             "3500000",
  65.             "4000000"
  66.         )
  67.         val spAdapter = SpAdapter(this)
  68.         /*
  69.          * TODO 適配下拉列表(串口地址)
  70.         * */
  71.         spAdapter.setDatas(ports)
  72.         binding.spSerial.adapter = spAdapter
  73.         binding.spSerial.onItemSelectedListener = object : OnItemSelectedListener {
  74.             override fun onItemSelected(
  75.                 parent: AdapterView<*>?,
  76.                 view: View,
  77.                 position: Int,
  78.                 id: Long
  79.             ) {
  80.                 serialHelper?.close()

  81.                 serialHelper?.port = ports[position]

  82.                 binding.EditText1.setText(ports[position])
  83.                 binding.open.text = "關閉串口"

  84.             }

  85.             override fun onNothingSelected(parent: AdapterView<*>?) {}
  86.         }
  87.         /*
  88.          * TODO 適配下拉列表(波特率地址)
  89.         * */
  90.         val spAdapter2 = SpAdapter(this)
  91.         spAdapter2.setDatas(botes)
  92.         binding.spBote.adapter = spAdapter2
  93.         binding.spBote.onItemSelectedListener = object : OnItemSelectedListener {
  94.             override fun onItemSelected(
  95.                 parent: AdapterView<*>?,
  96.                 view: View,
  97.                 position: Int,
  98.                 id: Long
  99.             ) {
  100.                 serialHelper?.close()
  101.                 serialHelper?.setBaudRate(botes[position])
  102.                 binding.EditText2.setText(botes[position])
  103.                 binding.open.text = "關閉串口"

  104.             }

  105.             override fun onNothingSelected(parent: AdapterView<*>?) {}
  106.         }
  107.     }
  108.     override fun initListener() {
  109.         //打開串口
  110.         binding.open.setOnClickListener{
  111.             try {
  112.                 serialHelper?.open()
  113.                 binding.open.text = "打開成功"
  114.                 showToast("打開成功")


  115.             } catch (e: IOException) {
  116.                 e.printStackTrace()
  117.             }
  118.         }
  119.         //發送消息
  120.         binding.send.setOnClickListener{

  121.             if (binding.radioGroup.getCheckedRadioButtonId() == R.id.radioButton1) {
  122.                 if (binding.SendText.text.toString().isNotEmpty()) {
  123.                     if (serialHelper!!.isOpen) {
  124.                         serialHelper!!.sendTxt(binding.SendText.text.toString())
  125.                     } else {
  126.                         showToast("搞毛啊,串口都沒打開")
  127.                     }
  128.                 } else {
  129.                     showToast("填數據吧")
  130.                 }
  131.             } else {
  132.                 if (binding.SendText.text.toString().length > 0) {
  133.                     if (serialHelper!!.isOpen) {
  134.                         serialHelper!!.sendHex(binding.SendText.text.toString())
  135.                     } else {
  136.                         showToast("搞毛啊,串口都沒打開")
  137.                     }
  138.                 } else {
  139.                     showToast("填數據吧")
  140.                 }
  141.             }
  142.         }

  143.         //toolbar返回按鈕監聽
  144.         binding.toolbar.setNavigationOnClickListener { finish() }
  145.     }
復制代碼

項目地址:HTTPS ://gitee.com/herui12/教MVAndroidchart

                






評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天干天天拍 | 黄色片网站免费 | 一区二区三区四区在线视频 | 91午夜精品亚洲一区二区三区 | 欧美日韩亚洲一区二区三区 | 免费av一区 | 黄色免费小视频 | 狠狠干在线视频 | 久久视频在线 | 亚洲成人免费在线观看 | 成年视频在线观看 | 欧美黄色一区二区 | 亚洲久久久久久 | 日本不卡视频在线观看 | 黄色三级视频网站 | 一区二区中文 | 日本在线视频一区二区 | 日韩精品片 | 精品久久免费 | 青草久久久 | 成av人片一区二区三区久久 | 啪啪网站免费 | 国产一级免费 | 欧美日韩色 | 成人动态视频 | 日韩成人免费 | 午夜亚洲精品 | 一色桃子av | 欧美日韩三区 | aaa级片 | 日韩成人在线播放 | 青草视频在线 | 亚洲天堂网址 | 黄色一级片免费 | 亚洲日本天堂 | 最新日韩av | 欧美精品久久久久久久多人混战 | 高潮毛片无遮挡免费看 | 精品久久久一区二区 | 国产成人三级一区二区在线观看一 | 能看的av网站 |