GPIO EXIT DEEP SLEEP

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
LUBA_1714456
Level 3
Level 3
First solution authored 10 replies posted 5 replies posted

Hello every one!

It's some days I'm trying to exit Psoc4 (CYBLE-022001-00 module) DEEP SLEEP using a GPIO logic signal (I've tried setting  rising edge, falling, derivate): no way to trigger "CY_ISR(GPIO_ISR) Irq function" !

By the use of a scope I see the device enters DEEP SLEEP, exits at Advertising period, but no way to see it exiting (isr_1) when P3.7 GPIO moves.

Some releases ago I also saw Psoc4 current rising from DEEP SLEEP (to about 10mA) whenever GPIO pin was moving. Now (I really don't know what I've done) even current does not rise when GPIO moves!

Could it be this pin does make CPU exiting DEEP SLEEP?  Sincerily I was not able to see a document explaining what module pins can do this...

Here attached "TopDesign.cysch" graphics, and two GPIO settings

I enable GPIO pin by:

Pin_1_SetInterruptMode(Pin_1_INTR_ALL, Pin_1_INTR_BOTH);  // redundant

isr_1_StartEx(GPIO_ISR);

isr_1_Enable(); // perhaps redundant

Isr function (never triggered):

CY_ISR(GPIO_ISR)

{

    Pin_1_ClearInterrupt();          

}

Thanks for any help!

Luigi

0 Likes
1 Solution

Dear Ganesh, here is attached my project.

Some notes:

a) my application (initially is only Advertiser) needs te enter DEEP SLEEP most time: it enters but does not exit when Pin_1 GPIO phisically wired to UART2 Rxd moves.

b) at the moment I'd like exiting DEEP SLEEP by the use of GPIO, not UART2 Irq.....

c) a final question: as the application uses a periodic Timer1 Irq: d I have to stop and restart it before and after DEEP SLEEP, or does it automatically restart from the point it was before DEEP SLEEP?

View solution in original post

0 Likes
6 Replies
lock attach
Attachments are accessible only for community members.
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello Luigi,

Could it be this pin does make CPU exiting DEEP SLEEP?

Yes. All the GPIO interrupts can exit the device from deep Sleep.

Can you please attach your complete project? We would like to analyze it and see what is wrong in the flow.

Also, have you gone through the code example named "Interrupts_Example" in PSoC Creator?

Which version of PSoC Creator are you using? Please use latest version of PSoC Creator i.e PSoC Creator 4.3.

I am attaching the code example on Interrupts for your reference.

Thanks

Ganesh

0 Likes

Ok thanks a lot for the moment. I'll have a look to your sample code, and also "Interrupts_Example".

I'm using Psoc Creator 4.3

Thanks a lot

Have a nice day

BR

Luigi

0 Likes

Dear Ganesh, here is attached my project.

Some notes:

a) my application (initially is only Advertiser) needs te enter DEEP SLEEP most time: it enters but does not exit when Pin_1 GPIO phisically wired to UART2 Rxd moves.

b) at the moment I'd like exiting DEEP SLEEP by the use of GPIO, not UART2 Irq.....

c) a final question: as the application uses a periodic Timer1 Irq: d I have to stop and restart it before and after DEEP SLEEP, or does it automatically restart from the point it was before DEEP SLEEP?

0 Likes

.... sorry I hit a wrong key and my answer was closed....

Here I attach my project.

Thanks a lot for your help!

BR

Luigi

0 Likes
lock attach
Attachments are accessible only for community members.

Here it is....

Ciao

0 Likes

Please refer the link below:

GPIO EXIT DEEP SLEEP2

0 Likes