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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2909|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 777zyz色资源站在线观看 | 日韩国产精品一区二区三区 | 国产黄色精品在线观看 | 精品国产欧美 | 国产精品影视在线观看 | 久久精品国产99国产精品 | 天天操天天干天天爽 | 久久九七| 一区二区三区视频 | 男女午夜激情视频 | 久久久精品网 | 国产免费福利在线 | 日日草夜夜草 | 成人精品视频在线 | 久久久久中文字幕 | 97av| 久久久精品网 | 色频 | 精品网| 亚洲精品9999 | 欧美日韩在线综合 | 久久国产欧美日韩精品 | 久久精品在线免费视频 | 九九九视频在线 | 国产91丝袜在线18 | 久热国产在线 | 久草青青草 | 韩日av片 | 国产精品久久久久久吹潮日韩动画 | 在线成人av| www.99热.com| 91色网站| 亚洲视频免费在线观看 | 草久久免费视频 | 国产一区二区在线91 | 欧美一区二区三区在线 | 久久人| 免费人成在线观看网站 | 国产一区二区日韩 | 色婷婷综合在线观看 | 人人看人人草 |