GPIO EXIT DEEP SLEEP2

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

Hi Ganesh, may be my reply of last week had some mistakes.... I see "....the discussion is blocked"

In effect I made some errors attaching my project, sorry.

Can we resume from your kind request to send you my project?

Here it is.

Pls notice that I have done many attempts to exit from DEEP SLEEP, having a look from the web, but still I'm stuck!

CPU enters DEEP SLEEP, exits for Advertising, but completely ignores my GPIO transitions!

Please help me.... this job is taking too much time and I am late....

Thanks in advance

Luigi

0 Likes
1 Solution
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

I have gone through the project and reproduced the problem you are facing at my side.

The issue got resolved when I added the lines before and after calling the CySysPmDeepSleep( ) API.

                    Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_FALLING);

                    CySysPmDeepSleep();

                    Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_NONE);

I made the above changes because in your code the line  Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_NONE); is present after the CySysPmSleep(); API and because of that the Pin interrupt is disabled. Even I if disable Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_NONE); your project is working fine.

We recommend you to keep the Pin_1 Drive mode as Resistive pull-up instead of High impedance digital. Please try this and update if it is working same for you.

Thanks

Ganesh

View solution in original post

0 Likes
2 Replies
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

I have gone through the project and reproduced the problem you are facing at my side.

The issue got resolved when I added the lines before and after calling the CySysPmDeepSleep( ) API.

                    Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_FALLING);

                    CySysPmDeepSleep();

                    Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_NONE);

I made the above changes because in your code the line  Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_NONE); is present after the CySysPmSleep(); API and because of that the Pin interrupt is disabled. Even I if disable Pin_1_SetInterruptMode(Pin_1_0_INTR, Pin_1_INTR_NONE); your project is working fine.

We recommend you to keep the Pin_1 Drive mode as Resistive pull-up instead of High impedance digital. Please try this and update if it is working same for you.

Thanks

Ganesh

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

Non way to answer on web page…

Thanks a lot

BR

Luigi

<http://www.shd-elettronica.it/> <https://www.facebook.com/SHDCuneo/> <https://www.instagram.com/s.h.d._elettronica/>

Bassignana Luigi.

S.H.D. s.a.s.

<http://www.shd-elettronica.it/> Sito : www.shd-elettronica.it

Email <mailto:luigi.bassignana@shd-elettronica.it> luigi.bassignana@shd-elettronica.it

Tel - Fax : +39 0171 348019

0 Likes