2017-05-19 04:21 AM
Dear Sir/Madam,
How to make controller goes into sleep mode. Can you please give me information or send me any source code link. Here, I am making into sleep using halt(); mode with disabling the peripherals but I'm thinking that Is there any other configuration need to do. Kindly, suggest me to solve this issue.
2017-05-23 04:35 AM
Dear Sir/Madam,
Now I did controller into halt completely. But when it's in halt mode if any GPIO external interrupt is triggered means it wakes up, but when I will send the CAN Identifier then It's not waking up. As per data sheet in halt mode if CAN_RX interrupt comes it should wake up. So, can you please guide to me what initialization I need configure for CAN before entering into the halt mode. Here I added CAN_Config(); function.
void CAN_Config(void)
{ CAN_InitStatus_TypeDef status = CAN_InitStatus_Failed; /* Filter Parameters */ CAN_FilterNumber_TypeDef CAN_FilterNumber; FunctionalState CAN_FilterActivation; CAN_FilterMode_TypeDef CAN_FilterMode; CAN_FilterScale_TypeDef CAN_FilterScale; uint8_t CAN_FilterID1; uint8_t CAN_FilterID2; uint8_t CAN_FilterID3; uint8_t CAN_FilterID4; uint8_t CAN_FilterIDMask1; uint8_t CAN_FilterIDMask2; uint8_t CAN_FilterIDMask3; uint8_t CAN_FilterIDMask4; /* Init Parameters*/ CAN_MasterCtrl_TypeDef CAN_MasterCtrl; CAN_Mode_TypeDef CAN_Mode; CAN_SynJumpWidth_TypeDef CAN_SynJumpWidth; CAN_BitSeg1_TypeDef CAN_BitSeg1; CAN_BitSeg2_TypeDef CAN_BitSeg2; uint8_t CAN_Prescaler; /* CAN register init */ CAN_DeInit(); /* CAN init */ CAN_MasterCtrl=CAN_MasterCtrl_AllEnabled; //CAN Loop Back Mode JNa //CAN_Mode = CAN_Mode_LoopBack; CAN_Mode = CAN_Mode_Normal; /*CAN_SynJumpWidth = CAN_SynJumpWidth_1TimeQuantum; CAN_BitSeg1 = CAN_BitSeg1_5TimeQuantum; CAN_BitSeg2 = CAN_BitSeg2_2TimeQuantum; CAN_Prescaler = 4;*/ CAN_SynJumpWidth = CAN_SynJumpWidth_1TimeQuantum; CAN_BitSeg1 = CAN_BitSeg1_8TimeQuantum; CAN_BitSeg2 = CAN_BitSeg2_7TimeQuantum; CAN_Prescaler = 8; /* 500kbit/s */ status = CAN_Init(CAN_MasterCtrl, CAN_Mode, CAN_SynJumpWidth, CAN_BitSeg1, \ CAN_BitSeg2, CAN_Prescaler); /* CAN filter init */ CAN_FilterNumber = CAN_FilterNumber_0; CAN_FilterActivation = ENABLE; CAN_FilterMode = CAN_FilterMode_IdMask; CAN_FilterScale = CAN_FilterScale_32Bit; CAN_FilterID1=0; CAN_FilterID2=0; CAN_FilterID3=0; CAN_FilterID4=0; CAN_FilterIDMask1=0; CAN_FilterIDMask2=0; CAN_FilterIDMask3=0; CAN_FilterIDMask4=0; CAN_FilterInit(CAN_FilterNumber, CAN_FilterActivation, CAN_FilterMode, CAN_FilterScale,CAN_FilterID1, CAN_FilterID2, CAN_FilterID3, CAN_FilterID4,CAN_FilterIDMask1, CAN_FilterIDMask2, CAN_FilterIDMask3, CAN_FilterIDMask4); /* Enable Fifo message pending interrupt*/ /* Message reception is done by CAN_RX ISR*/ CAN_ITConfig(CAN_IT_FMP, ENABLE);}Here, I am suspecting about my configuration, what configuration need to be change.