Arduino IDE के बाहर C प्रोग्राम लिखना?


12

मुझे सरल परियोजनाओं के लिए और Arduino के साथ शुरुआत करने के लिए Arduino IDE का उपयोग करने का विचार पसंद है, लेकिन मैंने अब तक जो आम सहमति प्राप्त की है, वह यह है कि यह उन लोगों के लिए है जो सामान्य रूप से Arduino और / या प्रोग्रामिंग के लिए नए हैं।

मेरी समझ यह है कि स्क्रैच से सी प्रोग्राम लिखना संभव है, पूरी तरह से Arduino IDE के बाहर, और फिर इसे Arduino MCU पर अपलोड करने के लिए AVRDUDE जैसे टूल का उपयोग करें। यह विकल्प, यद्यपि आकर्षक और दिलचस्प है, मुझे कुछ चिंताओं से छोड़ देता है:

  • Arduino पुस्तकालयों को इस तरह के "रॉ सी" प्रोग्राम द्वारा आयात / लिंक करने की आवश्यकता होगी? मुझे लगता है कि जब एक Arduino IDE- आधारित कार्यक्रम निष्पादित करता है digitalWrite(...)तो यह वास्तव में एक सी लिबास कहलाता है, शायद हुड के नीचे, Arduino द्वारा प्रदान किया गया है। मैं यह सुनिश्चित करने के बारे में चिंतित हूं कि ये सभी "अंतर्निहित देयताएं" मेरे सी कार्यक्रम के साथ शामिल हैं। विचार?
  • क्या अरडूइनो आईडीई के बाहर एकल उड़ान और उद्यम करके कुछ और "खो" गया है? कोई भी क्षमता / विशेषताएं जो मुझे अब "अपना रोल" करना होगा?

arduino.stackexchange.com/questions/9538/… मेरे सवाल के जवाब ने मुझे इसे स्थापित करने में मदद की। आप arduino से कुछ भी बदल सकते हैं / छोड़ सकते हैं। आप कर सकते हैं: -अपने खुद के बोर्ड का निर्माण करें। -अपनी खुद की आईडीई का उपयोग करें। अपने खुद के पुस्तकालयों का उपयोग करें।
पॉल

जवाबों:


4

यहाँ आप दो अच्छे लेख हैं कि कैसे Arduino वास्तव में पृष्ठभूमि में काम करता है। कैसे इसने माइक्रोकंट्रोलर प्रोग्रामिंग से घर्षण को हटा दिया।

  1. अर्डूइनो इंटर्नल की एक यात्रा: हैलो वर्ल्ड वास्तव में कैसे काम करता है?
  2. Arduino और GCC, केवल मेकफाइल्स का उपयोग करके कार्यक्रमों को संकलित और अपलोड करते हैं

यहां यह भी चर्चा की गई कि क्या Arduino कोड को C कोड में परिवर्तित करने का कोई तरीका या ट्यूटोरियल है?


धन्यवाद @ मिचल फोकसा (+1) - मुझे लगता है कि मैं अभी हैरान हूं कि इसका जवाब ज्यादा अच्छी तरह से ज्ञात नहीं है! मुझे लगता है कि Arduino IDE ने कहा था, एक lib/निर्देशिका , इसकी स्थापना रूट के अंतर्गत कहीं और थी arduino-core.dll, जैसे कि arduino-io.dll, आदि
smeeb

@smeeb: आप सही हैं, Arduino IDE इंस्टॉलेशन करता है - जिसमें मूल रन-टाइम फ़ंक्शंस के पुस्तकालयों के साथ-साथ उपयोगकर्ता द्वारा आपूर्ति की गई भी शामिल हैं। लिंक 2 के पृष्ठ के आधे हिस्से में, मेकफाइल में, प्रतीक LIBS उन्हें इंगित करता है। वे .dll नहीं हैं (जो विंडोज़ में हैं, रन-टाइम पर कहलाते हैं); वे वस्तु फाइलें हैं (। यूनिक्स जैसी प्रणालियों के तहत, शायद विंडोज के तहत समान) जो कि आपके संकलित ऑब्जेक्ट फाइलों के साथ (आखिरकार) एक .hex लोड फाइल में पूरी तरह से जुड़ी हुई हैं, जो पूरी लोडर छवि है। ...
JRobert

... यह उन लोगों के लिए अच्छी तरह से जाना जाता है जो जीवित रहने के लिए प्रोग्राम लिखते हैं, लेकिन Arduino (ब्रांड) टूल डिज़ाइनर्स ने जानबूझकर कई गंदे विवरणों को छिपाया है ताकि डिजिटल इलेक्ट्रॉनिक्स को लागू करने के लिए लोगों को उपलब्ध कराया जा सके बिना उनके पेशेवर स्तर के हो सकें। प्रोग्रामर और इंजीनियर इसे करने के लिए। हद तक आप इस जानकारी को Arduino समुदाय में खोजने के लिए कठिन पा रहे हैं, वे सफल रहे हैं!
JRobert

दुर्भाग्य से, विरासत के कारणों के लिए, आप मानक स्वीकृत तरीके से काफी अलग तरीके से Arduino सॉफ़्टवेयर का निर्माण करते हैं। इसे सरल बनाने के लिए In घर्षण को हटाने ’में, उन्होंने एक विशाल असंगत समुदाय का निर्माण किया। हर IDE 'प्लगइन' मानक मानक तरीके से कुछ नहीं मानक कार्य करने का प्रयास है। समस्याओं को ध्यान में रखते हुए उसे ध्यान में रखें।

5

आप अन्य पुस्तकालयों के खिलाफ लिंक करने की आवश्यकता के बारे में बिल्कुल सही हैं। हालाँकि, आपको आवश्यक नहीं है कि आप स्वयं सभी विवरणों के बारे में चिंता करें, जब तक कि आप कुछ असामान्य करने की आवश्यकता नहीं करते। कई वैकल्पिक IDE पहले से ही Arduino का समर्थन करते हैं, आमतौर पर प्लगइन्स के माध्यम से जो बहुत सारे विवरणों को स्वचालित रूप से संभालते हैं।

मैं आम तौर पर ग्रहण की सलाह देता हूं क्योंकि यह विभिन्न उद्देश्यों के लिए एक बहुत व्यापक रूप से उपयोग की जाने वाली आईडीई है। हालांकि, कई अन्य संभावनाएं हैं। अधिक जानकारी के लिए यह प्रश्न देखें:


धन्यवाद @ पैटर आर। ब्लूमफील्ड (+1) - हालांकि मैं वास्तव में एक गैर-आईडीई केंद्रित उत्तर की तलाश कर रहा हूं। ऐसा नहीं है कि मेरे पास IDEs के खिलाफ कुछ भी है, यह सिर्फ इतना है कि Arduino के "पुस्तकालय परिदृश्य" को समझने के लिए, मुझे लगता है कि IDEs सिर्फ एक अनावश्यक मध्य व्यक्ति हैं। ऐसा कहने के बाद, मैं मानूंगा कि सभी Arduino ऐप 1 + "कोर लिबास" हैं, जिनके साथ लिंक होना चाहिए, और इसके बाद वैकल्पिक लिबास हैं जिनकी आपको आवश्यकता हो सकती है या नहीं, यह इस बात पर निर्भर करता है कि आपका ऐप वास्तव में क्या करता है। क्या आप मुझे इन "कोर लिबास" की सूची के साथ-साथ किसी भी अन्य वैकल्पिक लोगों की ओर इशारा कर सकते हैं? एक बार फिर धन्यवाद!
स्माइब करें

और अर्हता प्राप्त करने के बारे में जो मैं ऊपर बता रहा था कि "अनावश्यक बिचौलिए" होने के बारे में, मेरा वास्तव में क्या मतलब है: मुझे किसी भी IDE (Arduino, Eclipse, या अन्यथा) के बाहर एक C ऐप लिखने में सक्षम होना चाहिए , जो Arduino के लिंक से जुड़ा हो। मेरे ऐप की ज़रूरत है, और अभी भी Arduino हार्डवेयर के लिए ऐप को संकलित / तैनात करता है। मैं सोच रहा था कि वे पुस्तकालय क्या हैं, और मैं उन पर प्रलेखन कहां पा सकता हूं।
स्माइब करें

@smeeb यह देखते हुए कि Arduino शुरुआती लोगों के उद्देश्य से है, मुझे नहीं लगता कि उन पंक्तियों के साथ बहुत (यदि कोई है) आधिकारिक दस्तावेज। मुझे लगता है कि Arduino makefiles के उदाहरणों के लिए ऑनलाइन खोज करने के लिए शोध करने का सबसे अच्छा तरीका है। इस पृष्ठ के निचले हिस्से के पास कुछ पुराने उदाहरण हैं ।
पीटर ब्लूमफील्ड

@smeeb: आपकी तरह, मैं आईडीई का प्रशंसक नहीं हूं। वहाँ कुछ सामान्य Arduino makefiles वेब पर तैर रहे हैं। आप मूल रूप से libore.a में Arduino कोर पुस्तकालय संकलित करने के लिए है, तो के साथ अपने .ino फ़ाइल संकलन है -x c++ -include Arduino.hअपने संकलक यह (प्लस के एक झुंड को समझने के लिए -D, -I, आदि) libcore.a के साथ और लिंक।
एडगर बोनट

0

हां, आप Arduino IDE के बाहर एक प्रोग्राम लिख सकते हैं। उदाहरण के लिए मैंने AVR प्लग-इन के साथ ग्रहण IDE की कोशिश की और अब मैं AVR स्टूडियो के साथ चिपकता हूं। बेशक, आपके पास कुछ कार्य नहीं होंगे जो आप आमतौर पर Arduino IDE और कुछ पुस्तकालयों में लिखते समय उपयोग करते हैं। लेकिन, सामान लागू करने की कोशिश क्यों नहीं की गई। जब आप दूसरों के द्वारा किए गए कार्यों और पुस्तकालयों के लिए खुद को सीमित कर सकते हैं, तो आप अपने मालिकों को सीख सकते हैं और लिख सकते हैं, शायद मौजूदा लोगों की तुलना में बेहतर हो।


-3

ESP8266 + Arduino IDE 1.6.4 पोर्टेबल - पूर्ण त्वरित इंस्टॉल गाइड www.instructables.com /..// ESP8266-Arduino-IDE-164-Portable-F ...

आपके सभी Arduino IDE v 1.6.4 फाइलें, जिनमें ESP8266 एक्सटेंशन, स्केच, इंस्टॉल की गई लिबरी आदि शामिल हैं, केवल नए बनाए गए "arduino-1.6.4" फ़ोल्डर के तहत स्थित होनी चाहिए।


यह बहुत मददगार जवाब नहीं है। लिंक वास्तविक लिंक नहीं है। और यहां तक ​​कि अगर यह था, तो स्टैक एक्सचेंज लिंक पर ही जवाब देता है, क्योंकि लिंक की गई साइट नीचे जा सकती है। कृपया अपने उत्तर पर विस्तार करें।
निक गैमन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.