绿茶 发表于 2015-7-23 09:43
楼主你好:
不能通信成功只是个结果,不是问题。影响到这个结果的因素非常多,不仅仅是程序软件。
所 ...
绿茶前辈 您好:
感谢您的回复 !
真是非常抱歉没注意到细节的部分 描述不够清楚
现在疑问的点在于:
首先 , 计算机传送端的 address 设为0x02 ; 电池模组端的address 设为0x01
计算机传送端代码的 第57行 表示传给0x01(电池模组端) 一个值 'A' (第58行)
然后 第79行 rxBuffer[0]== 0x02 表示自己的 address 为0x02
电池模组端代码的 第73 行表示自己的 address 为0x01
然而因为计算机传送端传送的值是 'A' 因此电池模组端会执行 第92行的 else
接着先亮红灯 再回传给计算机传送端 0x02 (第101行)
电池模组端有亮灯 表示有收到信号并执行回传动作
但 计算机传送端并没有收到回传的值 (也就是 rxBuffer[0] 没有收到信号)
这部分是用 Add Watch 去查看的
在这之前 测试过将两端的 address 都设为 0x01
结果回传成功
但当 address 设定不是 0x01 时 回传就会失败
理论上不应该会这样, address 应该可以任意设置在 0xFF 以内才对
想请问前辈们这有可能是什么原因造成的 ?
( 目前硬体的部分测试没有问题 )