0

This question is about zigbee & cc2530 . I bought 2 CC2530 modules . I connected every module to a micro controller ( uC acronym for micro controller ) . One of them , is coordinator ( C acronym for coordinator ) & one else is end device ( E acronym for end device ). C initializes the network & E joins to C's network . every things is OK . First critical issue : POWER SAVING mode . I was able to solve it . POWER SAVING mode is only for E . Second critical issue : Transmit & receive data in POWER SAVING mode . Receive was solved . ( Receive means : Data stream from C to E ) . BUT TRANSMIT !!! This is the question . ( Transmit means : Data stream from E to C ) . In POWER SAVING mode , E is sleep most of the time . uC intends to send data via E , but E is sleep & does not answer to uC . uC have to wake E up first & then send it the data , so E can transmit the data . How to wake E up ?????

In the documents : HAL_SLEEP_TIMER can be woken up by sleep timer interrupt, I/O interrupt and reset.

So I can wake E up by I/O interrupt . How can I do it ??

1 Answers1

0

Nobody answered me !!!! I found the answer . But I have not tried it yet .

in file ::: hal_board_cfg.h --> set HAL_KEY to TRUE

in file ::: hal_key.c --------> set HAL_KeyIntEnable to TRUE

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

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

By making these changes :

P0.1 is external interrupt . falling edge .

SO

Connect CC2530.P0.1 to One of the uC pins . This pin of uC must be high . Before sending data , uC toggles this pin , then uC waits about 1.6 ms , then uC sends uart packet to E , then uC toggles interrupt pin .