कोई घड़ी नहीं बना रहा है। मैं घड़ी में ईथरनेट केबल प्लग करके घड़ी सेट करना चाहता हूं। ज्यादातर समय घड़ी इंटरनेट पर प्लग नहीं किया जाएगा।ईथरनेट 60 सेकंड के लिए ब्लॉक शुरू करता है यदि कोई ईथरनेट केबल
मेरे पास एक Arduino बोर्ड और एक ईथरनेट shield है जो सफलतापूर्वक एक समय सर्वर से कनेक्ट हो सकता है और समय पढ़ सकता है (उदाहरण> ईथरनेट के तहत UdpNtpClient उदाहरण फ़ाइल देखें)।
समस्या यह है कि ईथरनेट शील्ड को कॉन्फ़िगर करने के लिए, Ethernet.begin()
ढाल 60 सेकेंड के लिए कॉल ब्लॉक अगर ढाल इंटरनेट से कनेक्ट नहीं है। मैं घड़ी को समय बताने के लिए चाहता हूं और समय-समय पर यह देखने के लिए जांच करता हूं कि इसमें एक ईथरनेट केबल प्लग है या नहीं, और यदि ऐसा है, तो उस समय कोई सुधार करें। ज्यादातर बार इस चेक के नकारात्मक नतीजे होने जा रहे हैं, इसलिए, मैं हर बार 60 सेकंड के लिए घड़ी फ्रीज नहीं कर सकता।
क्या यह पता लगाना संभव है कि केबल Ethernet.begin()
फ़ंक्शन से तेज तरीके से कनेक्ट है या नहीं? क्या "मल्टीथ्रेडिंग" समाधान लिखना संभव है, जहां Ethernet.begin()
गैर-अवरुद्ध है?
धन्यवाद! मुझे लगता है कि यह काम करेगा। किसी ने यह भी कहा कि मैं एक जीपीएस इकाई से समय प्राप्त कर सकता हूं, इसलिए मैं भी कोशिश कर सकता हूं। – rob
जीपीएस मेरे लिए एक भव्य विचार की तरह लगता है, हम अपने हार्डवेयर के साथ शुरुआत में घड़ियों को सिंक करने के लिए करते हैं। बस याद रखें कि जीपीएस समय सामान्य यूटीसी समय से कुछ सेकंड है ... इसके अलावा, ईथरनेट केबल को प्लग करने की कोई ज़रूरत नहीं है। आपकी घड़ी परियोजना के साथ शुभकामनाएं = डी –
मुझे "इस सटीक मुद्दे को कवर करने वाले Google पर उपलब्ध ब्लॉग पोस्ट" कहां मिलेंगी? – powtac