安卓读取串口数据出现堵塞

as1_2 2016-08-08 11:05:03
安卓app刚开始读取串口的数据是没有问题的,过了一段时间,发现界面数据不更新,点击界面提示无响应,串口一直在高频发送数据,但是app一直接收不了,好像被堵塞了?各位大虾,有没遇到过同样的问题?
...全文
612 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
玉怀一捧雪 2016-08-09
  • 打赏
  • 举报
回复
你问错版块了,去安卓开发的版块去问问题把。最好贴上源码
dingshi0375 2016-08-09
  • 打赏
  • 举报
回复
你好能交流下吗,我现在做了一个安卓app实现视频监控,另外从wifi模块串口读取数据这一块有问题,能留下联系QQ交流吗?或者加我QQ249634096
as1_2 2016-08-09
  • 打赏
  • 举报
回复
其中 byte[] SCI_DSP = new byte[8000]; 我做的是小型仪器的硬件开发的,主要做的是上层的应用,对这一块也不是太懂,测试时,只是个别仪器会出现卡死的情况,个别不会,如果底层发送数据的频率过快,而上层的安卓app接收串口数据不够快的话会不会出现堵塞的情况,从而造成界面卡死状态?有没谁也遇到过这样的问题?
as1_2 2016-08-09
  • 打赏
  • 举报
回复
下面是接收数据的主要代码 public void run() { while (true) { try { if (m_iPosStart >= m_iPosEnd) { //读取数据的起止位置 m_iPosStart = 0; m_iPosEnd = 0; } if (m_iPosEnd > AppConfig.MAX_REC_BUFLEN) {//最大的缓存数据 m_iPosStart = 0; m_iPosEnd = 0; } if (m_iPosEnd > AppConfig.MOVE_REC_BUFLEN) { StartEndOverMove();//数据缓存区起始位置移动的方法 } int len = mIS.read(SCI_DSP, m_iPosEnd, AppConfig.MAX_REC_BUFLEN - m_iPosEnd); /*** * 1.把数据缓存到SCI_DSP字节数组 */ if (len > 0) m_iPosEnd += len; Thread.sleep(60);//每个60毫秒接收一次数据 /*** * 2.判断缓存区的数组长度是否大于协议最小的长度,大于说明缓存了有用的数据 */ if (m_iPosEnd > (m_iPosStart + 9)) {//6+2 8个字节相当于协议头 +2字节(校验和+结束符)=10+至少一个字节的数据=11字节的数据 //无数据命令至少的字节数为10,就是说这个包存在有用数据时,检查数据是否完整 while (true) { int dataEnd = 0; /** * 2.1检查数据是否接收完整 * 完整则接收数据 */ dataEnd = chekData(SCI_DSP, m_iPosStart, m_iPosEnd);//检查数据是否接收完整的方法 //检查数据真实性及是否接收完整,dataEnd>0表示接收完整 if (dataEnd > 0) { int dataLen = dataEnd - m_iPosStart;//缓存的数据长度,初始时 m_iPosStart=0 byte[] data = new byte[dataLen]; System.arraycopy(SCI_DSP, m_iPosStart, data, 0, dataLen); m_iPosStart = dataEnd; Tool.printHex(data, 0, dataLen);//打印数据 // 接收数据(根据协议来接收) mRecordBuffered.onRecData(data);//接收数据 } else break; //接收数据不完整,跳出循环 } } } catch (Exception e) { e.printStackTrace(); //return; } } }
as1_2 2016-08-09
  • 打赏
  • 举报
回复
引用 2 楼 libin55 的回复:
你问错版块了,去安卓开发的版块去问问题把。最好贴上源码
哦,谢谢提醒
falloutmx 2016-08-09
  • 打赏
  • 举报
回复
程序缓冲爆了吧。
as1_2 2016-08-08
  • 打赏
  • 举报
回复
自己顶一下,哪位路过的大虾帮帮忙

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧