Zig蜜蜂<----> CC2530

问题描述

这个问题是关于 zigbee 和 cc2530 的。 我买了 2 个 CC2530 模块。我将每个模块连接到一个微控制器(微控制器的 uC 首字母缩写词)。 其中之一是协调器(协调器的 C 首字母缩写词),另一个是终端设备(终端设备的 E 首字母缩写词)。 C 初始化网络 & E 加入 C 的网络。一切正常。 第一个关键问题:节能模式。我能够解决它。 POWER SAVING 模式仅适用于 E 。 第二个关键问题:在节能模式下发送和接收数据。接收解决了。 (接收意味着:从 C 到 E 的数据流)。但是传输!!!这就是问题。 (传输意味着:从 E 到 C 的数据流)。在 POWER SAVING 模式下,E 大部分时间处于睡眠状态。 uC 打算通过 E 发送数据,但 E 处于睡眠状态且不响应 uC 。 uC 必须先唤醒 E,然后将数据发送给它,这样 E 才能传输数据。 如何唤醒 E ??????

文档中:HAL_SLEEP_TIMER可以通过睡眠定时器中断、I/O中断和复位唤醒。

所以我可以通过 I/O 中断唤醒 E。我该怎么做??

解决方法

没有人回答我!!!! 我找到了答案。不过我还没试过。

在文件 ::: hal_board_cfg.h --> 将 HAL_KEY 设置为 TRUE

在文件 ::: hal_key.c --------> 将 HAL_KeyIntEnable 设置为 TRUE

in file ::: OnBoard.c --------> inside InitBoard() -------> use HalKeyConfig(HAL_KEY_INTERRUPT_ENABLE,OnBoard_KeyCallback);

////\\////\\////\\////\\////\\\\//////\\\////// \\\\///////

通过进行这些更改:

P0.1 是外部中断。下降沿。

所以

将 CC2530.P0.1 连接到 uC 引脚之一。 uC 的该引脚必须为高电平。在发送数据之前,uC 触发此引脚,然后 uC 等待大约 1.6 ms,然后 uC 向 E 发送 uart 数据包,然后 uC 触发中断引脚。