完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 一只耳朵怪 于 2018-5-24 11:16 编辑
如上图,每发一个数据,都会有会复(那个短的,左边有空格的) 这个回复的接收在什么地方啊? |
|
相关推荐
11个回答
|
|
函数rxStartIsr中,有一段Process ACKs.
|
|
|
|
Hi Aries Lord, 嗯,看过了,但看到macTxComPleteCallback(status)就跟不下去了,我想看看 当收到应答 或 收不到应答 时是怎么向上层传递的,以及数据是怎么重发的,这些流程能看到么? |
|
|
|
sayhealer 发表于 2018-5-22 02:07 ACK不对上层开放,只是底层用于CSMA回退计算用,还有就是终端节点可以从ACK中判断是否继续RX_ON还是休眠 |
|
|
|
Hi Aries Lord, 我想这样:终端发送数据,只要判断发送数据时是否到第一个节点(应该是父节点吧)就可以了,那有什么好方法么? 现在看到正常发送,然后关闭协调器后(只有一个终端和协调器),macTxAckNotReceivedCallback会调用8或7次 AF_dataRequest函数中加入AF_ACK_REQUEST,成功发送数据时,也进不了AF_DATA_CONFIRM_CMD事件,是不是AF_ACK_REQUEST不这样用? 我现在想,只能在macTxAckNotReceivedCallback函数中记录这个函数的调用次数来判断这一次是否发送失败 |
|
|
|
Hi Aries Lord 纠正下我的实验现象 现在看到正常发送,然后关闭协调器后(只有一个终端和协调器),macTxAckNotReceivedCallback会调用7次 后来几次macTxAckNotReceivedCallback会调用24次,加串口显示,可以看到,他把原来的数据也重发了,每4次是一个数据,也就说,重发了6组数据 |
|
|
|
sayhealer 发表于 2018-5-22 02:30 AF_DataRequest只要返回了ZSuccess,那么必然导致AF_DATA_CONFIRM触发。 |
|
|
|
Hi Aries Lord 但是我在AF_DATA_CONFIRM下加串口输出,只有输出过一次,以后发送数据没有输出过(终端发给协调器) 终端调用AF_DataRequest函数,当协调器关闭后,这个函数返回值是ZSuccess啊,只有到下次再发时才是失败,加AF_ACK_REQUEST也是如此,这样,当协调器关闭后的第一次发数据就会丢了啊,终端这边也不知道 我这边想把丢的数据暂存起来,下次一起发,有什么好的建议么? |
|
|
|
你好, 对于应用层来说,调用一次AF_DataRequest,算是一次发送,所以只返回一次AF_DATA_CONFIRM。 对于底层来说,当7次发送都失败的时候,给应用层发失败 Confirm数据,7次里面只要有一次成功,就给应用发成功 Confirm了。 |
|
|
|
wenlonghbo 发表于 2018-5-22 03:20 Hi VV, AF_DATA_CONFIRM事件中,我加入串口输出函数,看到只有在入网时会触发一次这个事件 当发送数据时,不会触发这个事件,发送函数加入AF_ACK_REQUEST也不触发 是不是你说的AF_DATA_CONFIRM不是事件标志? |
|
|
|
wenlonghbo 发表于 2018-5-22 03:20 Hi VV, 现在知道了,我以前都是在ZDApp.c中的ZDAPP_ProcessOSALMsg()函数中的case AF_DATA_CONFIRM_CMD中加的串口输出,结果,无论怎样,只有在入网时输出一次,以后怎么也不会收到 现在我在SampleApp_ProcessEvent()函数中加入case AF_DATA_CONFIRM_CMD: afDataConfirm = (afDataConfirm_t *)MSGpkt;然后判断afDataConfirm的值就可以了 是我以前没注意,才弄了这么久… |
|
|
|
关于第三个问题,原因在于节点保存了之前加过网的ExtendPANID,所以即便搜索到其他网络,如果这个新的网络的ExtendPANID和原先的不一样,就不会选择加入。 你可以通过重新一次的入网来做, // Set the NV startup option to force a "new" join. zgWriteStartupOptions( ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE ); |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
697 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
607 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1069 浏览 1 评论
763 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
531 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
175浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
136浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
130浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
126浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
72浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-1 06:53 , Processed in 1.022210 second(s), Total 97, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号