संपादित करें : यह प्रश्न गलत है। Stm325105 में केवल एक वेकअप पिन है। लेकिन अन्य एसटी-पुर्जों में एक से अधिक वेकअप पिन होते हैं, इसलिए दिए गए उत्तर उन लोगों के लिए मान्य हैं।
मेरे पास एक stm32f105 है जिसमें वेकअप इनपुट से जुड़े दो क्षणिक बटन हैं। प्रोसेसर को STANDBY MODE में डाला जाता है। जब कोई भी बटन दबाया जाता है, या RTC टाइमर में आग लग जाती है, तो सीपीयू जाग जाता है।
समस्या यह है कि मैं सीपीयू को अलग-अलग चीजें करना चाहता हूं जिसके आधार पर वेकप इनपुट ट्रिगर किया गया था। एसटी stm32f105xx संदर्भ मैनुअल से 5.3.5 के अनुसार , कोई रजिस्टर पंजीकृत नहीं है सिवाय एक स्थिति रजिस्टर के, जो यह दर्शाता है कि हम जाग गए हैं (लेकिन कौन नहीं) और 42 बैकअप रजिस्टर।
स्टैंडबाई मोड सबसे कम बिजली की खपत को प्राप्त करने की अनुमति देता है। यह कॉर्टेक्स ® -M3 डीपस्लीप मोड पर आधारित है, जिसमें वोल्टेज रेगुलेटर अक्षम है। 1.8 वी डोमेन फलस्वरूप संचालित है। PLL, HSI थरथरानवाला और HSE थरथरानवाला भी बंद हैं। SRAM और रजिस्टर सामग्री बैकअप डोमेन और स्टैंडबाय सर्किटरी में रजिस्टरों को छोड़कर खो जाती है।
स्टैंडबाई मोड से जागने के बाद, प्रोग्राम निष्पादन उसी तरह से शुरू होता है जैसे कि रीसेट (बूट पिन सैंपलिंग के बाद, वेक्टर रीसेट प्राप्त होता है, आदि)। पावर कंट्रोल / स्टेटस रजिस्टर (PWR_CSR) में SBF स्टेटस फ्लैग इंगित करता है कि MCU स्टैंडबाय मोड में था।
यह ST मंच पोस्ट, स्टैंडबाय से वेकअप की उत्पत्ति का निर्धारण कैसे करें? , सुझाव देता है कि मैं यह नहीं पता लगा सकता कि सॉफ्टवेयर में कौन सा वेकअप ट्रिगर हुआ। मुझे वहाँ कोई अन्य पद नहीं मिला जिसने कोई और ज्ञान दिया हो।
मैं जागने के बाद सॉफ्टवेयर या हार्डवेयर का उपयोग कैसे कर सकता हूं, किस वेकअप इनपुट को ट्रिगर किया गया था?