This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

求助:Z-Stack 2530协议栈中EndDevice低功耗休眠设置的问题

Other Parts Discussed in Thread: Z-STACK

Z-Stack 2530协议栈中EndDevice设置为PM2模式,1s唤醒一次,组好网后,协调器发指令控制EndDevice发送红外38K载波,结束后会高3mA电流,不会降下来。测量发送引脚检查是正常的。

我做的38K载波没用定时器,用的是延时,是否会影响?可我的红外接收也使用的是延时,电流不会升。请问这是什么原因?

我的38K载波一个波形是下面函数做的

void Transmit_38K(void)

{

   u8 delay_count;

   PORTOUT = 1;

   delay_count = 22;

   while(delay_count--);

   PORTOUT = 0;

   delay_count = 22;

   while(delay_count--);

 }

已确定发送完后发送引脚拉低。

我试过注释掉 PORTOUT = 1;这一行,结果测不会漏电。证明是这里影响的,可以帮忙分析下吗?谢谢

  • 如果系统电流是3mA的话,说明PM2应该已经实现了,只是某些IO的电流消耗问题。

    你可以在红外发送弄成以后,把IO的输出设置成0,就我们协议栈里面所做的把LED的OFF掉。

  • 感谢您的回答,但是我用单片,不加底板测试也是一样,并且比对了其他操作和发送38K载波操作,各个引脚状态均相同。

    发送完红外,我把红外发送IO的输出已设置成0,实测也是正常的。

    我怀疑是系统时钟的问题。因为相同的延时函数在Router中的时间是EndDevice中的时间的4倍长,就是EndDevice其他操作时时钟未改变,发送38K载波时钟频率是就增大了4倍,但是读取这两种操作时CLKCONSTA的值都是0x00.

  • 你说的3mA持续的时间多少?

    有通过示波器测过吗?

  • 发送了38K载波后就一直是大3mA(四点几毫安),一直持续,再控制它做其他操作也不会下降。

    谢谢了,我们还在测试,有新的进展会立即反馈。

  • Hi VV

        已经查明是因为红外接收器导致的漏电,谢谢你的回答。

  • 您好,看到您这个帖子有个疑问。请问下您的终端节点工作在PM2下,1s唤醒一次。协调器发送指令给终端节点终端节点可以收到数据吗?2530工作在PM2模式下不是不能接收无线信号吗?谢谢

  • @Chong huang,

    建议先了解下ZigBee里面EndDevice的工作机制

  • 谢谢了。。。

x 出现错误。请重试或与管理员联系。