搜索
bottom↓
回复: 4

无线龙的radioSend(BYTE* transmitData, WORD dataLength, BYTE remoteAddress, BYT

[复制链接]

出0入0汤圆

发表于 2011-9-27 14:18:25 | 显示全部楼层 |阅读模式
radioSend(BYTE* transmitData, WORD dataLength, BYTE remoteAddress, BYTE doAck)这个函数中有如下一段代码

      if(remaining > SPP_MAX_PAYLOAD_LENGTH)     //如果超过了有效数据长度
      {
         memmove(txData.payload, transmitData + sent, SPP_MAX_PAYLOAD_LENGTH);
         txData.payloadLength = SPP_MAX_PAYLOAD_LENGTH;
         sent += SPP_MAX_PAYLOAD_LENGTH;
      }
      else
      {
         memmove(txData.payload, transmitData + sent, dataLength);
         txData.payloadLength = dataLength;
         sent += dataLength;
      }

else应该是一帧数据不足SPP_MAX_PAYLOAD_LENGTH时执行的,怎么这时又把dataLength赋值给了txData.payloadLength,感觉应该把剩下的未发送的数据数量remaining赋值给txData.payloadLength啊?盼望高手给解答一下!

出0入42汤圆

发表于 2011-9-27 15:18:11 | 显示全部楼层
貌似是有问题哦,等高手

出0入0汤圆

 楼主| 发表于 2011-9-27 17:09:09 | 显示全部楼层
回复【1楼】my_avr  
-----------------------------------------------------------------------
它原来发送Hello word,接收发送都没问题,因为字符比较短一次就发送完了,后来我发送了一个长一点的字符串,然后把SPP_MAX_PAYLOAD_LENGTH这个宏改短了一些,让它一次发送不完,分多次发送,结果发送的数据就接收不到了,我觉得是发送最后一段字符时出问题了!还望研究过这个的高手帮助一下!!

出0入0汤圆

发表于 2011-9-29 12:50:19 | 显示全部楼层
回复【楼主位】jielj_2008
-----------------------------------------------------------------------

我把他这里面的 doack去掉啦 效果是比较好的

出0入0汤圆

 楼主| 发表于 2011-9-29 16:00:27 | 显示全部楼层
回复【3楼】610396783  
-----------------------------------------------------------------------

那它的else里面的程序你觉得有问题吗?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 17:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表