"Avrdude: stk500_getsync (): सिंक में नहीं: सम्मान = 0x00," उर्फ ​​कुछ दोस्त ने नामांकित Avr मुझे अपना कार्यक्रम अपलोड नहीं करने दिया


98

मैंने दूसरे दिन एक शानदार कार्यक्रम बनाया, और मैं इसे अपने Arduino पर अपलोड करना चाहता था। अपलोड बटन पर क्लिक करने के बाद, avr नाम के कुछ मतलबी साथ आए और मुझे रोकते हुए कहा:

avrdude: stk500_getsync (): सिंक में नहीं: resp = 0x00

सभी मैं करना चाहता हूँ बस अपना कार्यक्रम अपलोड है, लेकिन AVR मुझे नहीं दूँगा। वह अचूक भी है, इसलिए कोई मुझे बता सकता है कि वह क्या कहने की कोशिश कर रहा है और उससे कैसे छुटकारा पा सकता है?


अर्थात:

जब भी मैं अपने Arduino पर कोई प्रोग्राम अपलोड करने का प्रयास करता हूं, मुझे यह त्रुटि संदेश मिलता है:

avrdude: stk500_getsync (): सिंक में नहीं: resp = 0x00

इसका क्या मतलब है, और मैं इसे कैसे ठीक कर सकता हूं?


4
सुंदर आम त्रुटि संदेश, हमेशा हल करने के लिए तुच्छ नहीं: Electronics.stackexchange.com/…
jippie

12
अच्छा शीर्षक! मैंने स्वयं उस त्रुटि को पा लिया है ...
डॉक्टर

6
+1 शीर्षक के लिए: D ... मैं वास्तव में इस दोस्त से उतना ही नफरत करता हूं जितना आपने किया था!
डेविड रिफॉआ

Arduino के लिए ड्राइवर (cp2102) स्थापित करने का प्रयास करें। इससे मुझे मदद मिली। पिछले उत्तर पीपीएल के लिए धन्यवाद :-)

इस जून 2018 की पोस्ट ने इसे मेरे लिए हल किया (पहला उत्तर): arduino.stackexchange.com/questions/51729/…
माइकल सिम्स

जवाबों:


62

यह आपके कंप्यूटर और Arduino के बीच एक सामान्य कनेक्शन त्रुटि के कारण होता है, और कई अलग-अलग विशिष्ट समस्याओं के परिणामस्वरूप हो सकता है।

यहाँ कुछ आसान चीजें हैं जो अक्सर इस त्रुटि को ठीक कर सकती हैं:

  • USB केबल को डिस्कनेक्ट और फिर से कनेक्ट करें।
  • बोर्ड पर रीसेट बटन दबाएं।
  • Arduino IDE को पुनरारंभ करें।
  • सुनिश्चित करें कि आप सही बोर्ड का चयन करते हैं Tools ► Board ►, उदाहरण के लिए यदि आप ड्यूमिलानोव 328 का उपयोग कर रहे हैं, तो ड्यूमिलानोव के बजाय 128 का चयन करें। बोर्ड को यह कहना चाहिए कि यह माइक्रोचिप पर क्या संस्करण है।
  • सुनिश्चित करें कि आपने सही पोर्ट का चयन किया है Tools ► Serial Port ►। इन चरणों का पालन करके यह पता लगाने का एक तरीका है कि यह किस पोर्ट पर है:
    1. USB केबल को डिस्कनेक्ट करें।
    2. पर जाएं Tools ► Serial Port ►और देखें कि कौन से पोर्ट सूचीबद्ध हैं (उदाहरण के लिए COM4 COM5 COM14)।
    3. USB केबल को फिर से कनेक्ट करें।
    4. वापस जाएं Tools ► Serial Port ►और देखें कि कौन सा पोर्ट दिखाई दिया जो पहले नहीं था।
  • सुनिश्चित करें कि डिजिटल पिन 0 और 1 किसी भी हिस्से से जुड़े नहीं हैं, जिसमें कोई भी ढाल शामिल है।

यदि उनमें से कोई भी काम नहीं करता है, तो आप चीजों को बदलकर मुद्दे को अलग करने की कोशिश करना चाहेंगे: एक ही arduino पर एक अलग कंप्यूटर की कोशिश करें, एक ही कंप्यूटर पर एक अलग arduino का प्रयास करें, और एक अलग USB केबल का उपयोग करने का प्रयास करें।

यदि समस्या कंप्यूटर के साथ है:

  • उपरोक्त "आसान फ़िक्सेस" सूची में सभी कंप्यूटर से संबंधित मुद्दों को दोबारा जांचें।
  • IDE को पुनर्स्थापित करें।
  • ड्राइवरों को पुनर्स्थापित करें।

यदि समस्या Arduino के साथ है:

  • उपरोक्त "आसान फ़िक्सेस" सूची में सभी बोर्ड से संबंधित मुद्दों को डबल-चेक करें।
  • सुनिश्चित करें कि माइक्रोकंट्रोलर सही ढंग से बैठा है।
  • आपको बूटलोडर को जलाने की आवश्यकता हो सकती है ।
  • यदि आपके पास एक और एक पास है तो माइक्रोकंट्रोलर को बदलें।
  • आप अपने Arduino को ईंट कर सकते हैं। माफ़ करना :(

3
अन्य संभावित कारण हैं। आपका ATmega क्षतिग्रस्त हो सकता है, आप ATmega पर बूटलोडर को क्षतिग्रस्त कर सकते हैं, आपके पास बिजली के मुद्दे, या अन्य संभावनाओं के असंख्य हो सकते हैं। not in sync: resp=0x00वास्तव में एक सामान्य संदेश "जवाब नहीं ATmega" है। कुछ भी जो एटीमेगा को जवाब न दे पाने का कारण बन सकता है।
कॉनर वुल्फ

तो क्या मुझे कभी 0 या 1 में कुछ भी नहीं हो सकता है?
टिम

2
@ समय आप उन पिनों से सामान कनेक्ट कर सकते हैं, लेकिन अगर आप USB केबल के माध्यम से अपने Arduino के साथ संवाद करना चाहते हैं, तो आपको उन्हें डिस्कनेक्ट करना होगा।
द गाइ हैट ​​के साथ

मुझे यह त्रुटि अपने पहले डुमिलानोव पर सालों पहले मिली थी। यह एक मृत UART चिप थी (या USB से UART चिप से कनेक्शन)। अधिक निराश। मैंने एक AVR प्रोग्रामर खरीदा और बूटलोडर को जला दिया। बूटलोडर के साथ एक और सीपीयू खरीदा। जब तक विक्रेता ने प्रतिस्थापन नहीं भेजा, तब तक मैं Arduino aficionados की दुनिया में शामिल होने में सक्षम था (और मेरे पास अब दो अतिरिक्त सीपीयू हैं)।
लाइनरट्रॉट 22

"USB केबल को डिस्कनेक्ट और रीकनेक्ट करें" मेरे लिए काम करता है
ग्रेस शाओ

20

एक और तय:

बदले Tools->Processor->Atmega 328Pके लिए Atmega 328P (Old Bootloader)। याद दिलाएं कि Processorविकल्प केवल तब उपलब्ध होता है जब आप कुछ विशिष्ट बोर्डों का चयन करते हैं Tools>Board

यह मेरे Arduino नैनो के लिए CH340 के साथ काम किया, लिनक्स Ubuntu 17.10 के तहत Arduino IDE 1.8.5 का उपयोग किया। इसके अलावा, यह शायद तब होगा जब आप आईडीई 1.8.9 या नए का उपयोग करते हैं और आपको एक पुराना या क्लोन किया गया नैनो मिलता है।


3
यही उपाय था! नया बूटलोडर बॉड दर (57600 के बजाय 115200) का दोगुना उपयोग करता है।
सूयूहेगी

1
आपका उत्तर मेरी समस्या को हल करता है। धन्यवाद!
व्लादिस्लाव सवेंको

12

दुर्भाग्य से, इसका मतलब यह भी हो सकता है कि आपने अपने माइक्रोकंट्रोलर को जला दिया। क्या आप कुछ भी सही कर रहे थे इससे पहले कि आप एक नया स्केच अपलोड करने की कोशिश करें? क्या माइक्रोकंट्रोलर अभी भी काम कर रहा है, इसके पहले से लोड किए गए स्केच के साथ?


10

यदि उपरोक्त चरणों में से कोई भी काम नहीं करता है, तो Avrdude और avr-gcc संकलक को फिर से स्थापित करने का प्रयास करें। मेरे मेगा को इससे पीड़ित होने के बाद मुझे ऐसा करना पड़ा।

यदि आपने अलग से Avrdude और avr-gcc स्थापित किया है, तो बस उन्हें अनइंस्टॉल करें। यदि नहीं, तो आपको Arduino IDE को फिर से स्थापित करना पड़ सकता है। ये चरण आपके ऑपरेटिंग सिस्टम पर निर्भर करेंगे।


इसकी अत्यधिक संभावना नहीं है कि टूलचिन का उपयोग किए जाने के कारण यह समस्या होगी। यह बहुत चरम है, IMO।
एशेश्र

3
यह एकमात्र तरीका है जिससे मैं अपनी समस्या हल कर सकता हूं
TheDoctor

इस स्थापना प्रक्रिया के बारे में आप क्या बात कर रहे हैं? Arduino एडिटर टूल अभी अनज़िप किया गया है। कोई स्थापना प्रक्रिया नहीं है।
कॉनर वुल्फ

9

मेरा भी यही संदेश है। हर बार मेनू टूल्स के तहत राइट पोर्ट यानी यूएसबी को चुनकर इसे हल किया गया है। इसका एक सरल कदम है लेकिन मैं हमेशा भूल जाता हूं। मैं वर्तमान कार्यक्रम को रोकने के लिए Arduino को अनप्लग कर दूंगा, नए प्रोग्राम को अपलोड करने और त्रुटि, घबराहट, अभिशाप, और फिर केवल याद रखने के लिए इसे अपने कंप्यूटर में फिर से प्लग कर सकता हूं।


1
मुझे लगता है कि यह सबसे आम समाधान है।
चूजों

9

मेरे मामले में मैंने एक संधारित्र को FTDI चिप का RTS पिन नहीं पहना था जो Arduino Pro Mini के RST पिन पर गया था। एक बार जब मैंने यह कनेक्शन स्थापित कर लिया, तो मुझे अब त्रुटि नहीं मिली और मैं कोड अपलोड करने में सक्षम था।

निक गैमन अपने मंच में यह बताते हैं । मैंने एक चित्र जोड़ा है कि संधारित्र को कहाँ / कैसे रखा जाना चाहिए। यहाँ छवि विवरण दर्ज करें


सीधे एक atmega चिप के लिए USB प्रोग्रामर हुकअप की अच्छी तस्वीर के लिए +1।
राडदेवस

मेरे बोर्ड पर कुछ खराब कनेक्शन भी थे, मैंने सब कुछ अनप्लग कर दिया और एक बुनियादी स्केच अपलोड किया और यह काम किया। अब जाने कि कौन सी केबल सही जगह पर नहीं है
सेराफ

5

मेरे साथ भी ठीक यही समस्या थी। मैंने IDE को दूसरे लैपटॉप में इंस्टॉल करने की कोशिश की और उस लैपटॉप से ​​प्रोग्राम अपलोड किया। समस्या सुलझ गयी। फिर मैं अपने लैपटॉप पर वापस आया, आईडीई की स्थापना रद्द की और इसे फिर से स्थापित किया .. यह काम करना शुरू कर दिया।

हालाँकि, मैं संतुष्ट नहीं था क्योंकि मुझे समस्या का स्रोत नहीं मिल रहा था ... इसलिए मैंने फिर से वही सटीक तरीके से सब कुछ चलाने की कोशिश की ... मुझे समस्या मिली लेकिन यकीन नहीं होता कि क्या इसका वास्तविक कारण हो सकता है ।

अपने प्रोजेक्ट में, मुझे arduino और MATLAB (GUI) के बीच धारावाहिक संचार करने की आवश्यकता थी। MATLAB (GUI) सीरियल डेटा के आउटपुट (प्रकार) को देखने / सत्यापित करने के लिए, मैंने HYPERTERMINAL और साथ ही VIRTUAL SERIAL PORT EMULATOR का उपयोग किया। मैंने देखा कि हर बार जब हाइपरटर्मिनल चल रहा होता है या वीएसपीई चल रहा होता है जबकि मेरा सीरियल मॉनीटर इस कार्यक्रम के अपलोडिंग फीचर पर शिकंजा कसता है। मुझे यकीन नहीं है कि यह VSPE या HYPERTERMINAL की वजह से है, लेकिन IDE को फिर से स्थापित करना मेरे लिए काम कर रहा है।


2
सीरियल कंट्रोल लाइनों में से एक, मुझे लगता है कि यह DTR है, का उपयोग Arduino को रीसेट करने के लिए किया जाता है। जब आप अपने Arduino को प्रोग्राम करने का प्रयास करते हैं, तो आपका टर्मिनल प्रोग्राम हस्तक्षेप कर सकता है।
linhartr22

यह मेरे लिए तभी काम किया जब मैंने अपने Arduino Library फ़ोल्डर को भी हटा दिया, जिसमें सभी सेटिंग्स और अतिरिक्त काम शामिल हैं।
जेठ्रो

3

लिनक्स मिंट का उपयोग करने वाले लोगों के लिए मैंने पाया कि "Arduino" लेबल वाले एक के बजाय "TTY SO" पोर्ट का चयन करने से यह काम करेगा (मैं आपको ठीक-ठीक बता नहीं सकता क्योंकि मेरे पास अभी वह कंप्यूटर नहीं है) ।

फिर अगली बार जब मैंने Arduino का उपयोग किया तो मुझे फिर से वही संदेश मिला, इसलिए मैंने "Arduino" पोर्ट पर वापस स्विच किया और तब से इस तरह से काम किया है।

मैं बाकी लोगों की तरह तकनीकी जानकार नहीं हूं, इसलिए मुझे नहीं पता कि यह क्यों काम करता है या समस्या क्या है, लेकिन इसने वह काम किया जिसकी मुझे परवाह है। शायद यह किसी के लिए उपयोगी होगा।


3

मैंने IDE और ड्राइवरों आदि की स्थापना रद्द की, इसे फिर से स्थापित किया, फिर मैंने एक व्यवस्थापक के रूप में Arduino IDE चलाया और विंडोज़ 7 के रूप में संगतता चलाने के लिए सेट किया (मैं वर्तमान में 10 का उपयोग कर रहा हूं)।

मैंने प्रोग्रामर को AVR ISP में भी बदल दिया (मुझे नहीं लगता कि यह मामला है, लेकिन मैंने इसे वैसे भी बदल दिया है)।

सब फिर से काम कर रहा है ... उम्मीद है, यह किसी और को भी मदद कर सकता है।


2

एक असामान्य एक, लेकिन मैं माइक्रोकंट्रोलर्स को बहुत स्वैप कर रहा हूं और मुझे यह त्रुटि मिली जब एक को सही तरीके से नहीं बैठाया गया था .. मैं कुछ बार जलने में सक्षम था, लेकिन मुझे लगता है कि यह वापस फिसल गया था - पीठ पर थोड़ा धक्का ATMega328 ने इसे ठीक कर दिया!


1

कंट्रोलर के स्वयं को Arduino पर सॉकेट में गलत तरीके से रखे जाने की संभावना भी है। यह नियंत्रक के लिए खतरनाक हो सकता है (जो कि zapped हो सकता है) लेकिन, मेरे मामले में, इसने केवल सिंक त्रुटि दी, मुझे कोड अपलोड करने से रोका।

तो बस जांचें कि क्या आईसी पर पायदान सही दिशा में है (आप ऑनलाइन बोर्ड की छवियों के साथ जांच को पार कर सकते हैं)। ऊनो के नियंत्रक पर पायदान को बोर्ड के किनारे की ओर इशारा करना चाहिए।


1

मुझे भी यह त्रुटि आई। हेडर पर सोल्डर करने के बाद यह पहली बार एक नए Arduino नैनो बोर्ड का उपयोग करने वाला था। बस पलक झपकते ही बोर्ड से कुछ नहीं जुड़ा।

मुझे GROUND और RESET पिन के बीच मिलाप की एक छोटी कमी मिली। मैंने इसे बंद कर दिया और फिर मैं ठीक अपलोड कर सका।

मुझे लगता है कि यह हो सकता है अगर आप कहीं एक सर्किट पर एक ही छोटा था।


1

बस एक ही त्रुटि के साथ एक नया मिनी प्रो था। चूंकि डिफॉल्ट ब्लिंक प्रोग्राम जो कि ज्यादातर Arduino के साथ पहले से लोड था, चल रहा है, मुझे पता है कि यूनिट शायद ठीक है।

इसलिए मैंने हेडर का निरीक्षण किया मैं सिर्फ एक बार मिलाप करता हूं, और पाया कि TX0 पिन पर पर्याप्त मिलाप नहीं था। हर काम को दोबारा करने के बाद।


1

बहुत सारे अनप्लगिंग के बाद, पोर्ट्स को चेक करना, IDE को फिर से शुरू करना, आदि जो Arduino Mega 2560 के साथ इस खराबी को ठीक करने में फर्क महसूस कर रहा था, वह था USB USB arduino ड्राइवर को अनइंस्टॉल करना, फिर इसे यहाँ ड्राइवर को फिर से इंस्टॉल करना और मैन्युअल रूप से सूची से चयन करना> com पोर्ट्स> arduino http://drivers.softpedia.com/get/Other-DRIVERS-TOOLS/Others/Arduino-Mega-2560-USB-Driver-1110-for-Windows/7-64-bit.shtml I हो सकता है यह मेरे uno पर फिर वापस मेगा पर परीक्षण किया है, इसलिए uno से बात करने का एक छोटा सा मौका है AVRDUDE को खुश लेकिन संभावना नहीं है।


1

जब मुझे अपने बोर्डों को अपलोड करने में समस्या आती है तो मैं पलक उदाहरण की तरह एक अलग कार्यक्रम अपलोड करता हूं। यह कुछ रीसेट करने के लिए लगता है और मैं तब अपना कार्यक्रम अपलोड करने में सक्षम हूं (जो काफी बड़ा है)।

यह देखने की कोशिश करना लायक हो सकता है कि क्या यह आपके मामले में काम करता है, हालांकि मुझे नहीं पता कि यह क्यों काम करता है।


क्या बोर्ड और बूटलोडर?
जुराज

Arduino नैनो, ATMega328P (3 जी पार्टी नहीं)। हार्डवेयर संस्करण: 2, फर्मवेयर संस्करण: 1.16, डिवाइस हस्ताक्षर 0x1e950f है मैंने बूटलोडर की जांच नहीं की है, लेकिन उन्हें "पारंपरिक बूटलोडर" के रूप में विज्ञापित किया गया है
जेथ्रो

इसलिए आपका उत्तर पुराने नैनो बूटलोडर के लिए विशिष्ट है
जुराज

धन्यवाद! मैं बूटलोडर्स को देखूंगा और इसे अपग्रेड करने की कोशिश करूंगा। क्या आपके पास इस बग के बारे में कोई जानकारी है?
जेथ्रो

1

मैं अपने यूनो बोर्ड के साथ एक समान मुद्दा था

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x90

कई तरीके आजमाए

  • पैकेट भेजने से पहले रीसेट दबाएँ
  • विभिन्न आईडीई संस्करण
  • केबल बदलें
  • कंट्रोलर को ही बदलें
  • लूपबैक परीक्षण

लेकिन उपरोक्त सभी विफल रहे।

मैं Ubuntu 16.04.4 LTS 4.15.0-33-generic(इस टिप्पणी को लिखते समय) का उपयोग करता हूं । सीडीसी एसीएम मॉड्यूल लोड नहीं किया गया था, इसलिए /dev/ttyACM0चयन करने के लिए कोई उपकरण नहीं बनाया गया थाArduino IDE -> Tools -> Port

इसलिए, मॉड्यूल नाम प्राप्त करें और इसे लोड करें

$ lsusb 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 2341:0043 Arduino SA Uno R3 (CDC ACM)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


$ sudo modprobe cdc-acm

उपरोक्त कमांड आवश्यक मॉड्यूल सम्मिलित करेगा। अब मैं सही पोर्ट का चयन करने और कोड अपलोड करने में सक्षम हूं

मेरे लिए काम किए गए विभिन्न समाधानों में से, आशा है कि यह किसी को भी मदद करता है।


0

मैंने इसे बोर्ड को अपडेट करके ("बोर्ड मैनेजर" के तहत) हल किया है


क्या आपके पास एक Arduino नैनो है?
प्रति 1234

0

मुझे आज कुछ कोड के लिए समान समस्या का सामना करना पड़ा और मैंने इसे इस प्रकार हल किया:

1- पहले मैंने एक बुनियादी एलईडी ब्लिंकिंग कोड चलाया। इसने वही त्रुटि दी। यह पुष्टि करता है कि त्रुटि अपलोड करने में है और इसका संकलन से कोई लेना-देना नहीं है। मैंने यह भी जांचा कि मेरा कोड ठीक संकलन था।

2- मैंने एक और बोर्ड लिया, लेकिन यह इस पीसी पर ठीक काम कर रहा था। इसका मतलब है कि कंप्यूटर और USB तार ठीक है।

3- मैंने दोषपूर्ण बोर्ड को दूसरे पीसी से जोड़ा, और आश्चर्यजनक रूप से, अपलोड करने में ऐसी कोई त्रुटि नहीं थी। कि मुझे पहले पीसी में ड्राइवर में मुद्दों के बारे में संकेत दिया।

4- इसलिए मैंने ड्राइवर को अनइंस्टॉल किया और यहां से डाउनलोड करके पहले पीसी पर फिर से इंस्टॉल किया

(सुनिश्चित करें कि इस लिंक से ड्राइवर को स्थापित करते समय, आप अपने बोर्ड को पीसी से कनेक्ट रखें)

यह अब ठीक काम किया :-)


0

मैंने अपने लिनक्स मिंट 17.3 लैपटॉप में Arduino Nano avrdude के साथ यह त्रुटि की थी: stk500_getsync (): सिंक में नहीं: resp = 0x00

हल किया:

  • उसके नाम में 'arduino' या 'avr' था
  • हटाए गए निर्देशिका .arduino और .arduino15 (नाम में डॉट नोट करें)
  • पैकेट की स्थापना रद्द करने के साथ क्रिया 1.8.7 को हटा दिया गया
  • apt-get स्थापित आर्दीनो (देखें 1.1.0)
  • एक साधारण स्केच के साथ परीक्षण किया गया (सब कुछ ठीक है)
  • पैकेट की स्थापना के साथ ver 1.8 स्थापित
  • संकलित।
  • प्रोसेसर के लिए ATmega328p (पुराना बूटलोडर), कार्ड के लिए Arduino नैनो और पोर्ट के लिए / dev / ttyUSB0 => IT WORKS!

ऐसा लगता है कि 'ओल्ड बूटलोडर' इस मामले में चाल थी। मेरे पास अब दोनों 1.1.0 है। 1.8.7, जो परवाह करता है।


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