Kaynak düzeyinde kesme noktaları ayarlama, gerçek donanımdaki kodu çalıştırma ve değişkenleri denetleme ve devam etme olanağı var mı?Arduino kodunda Arduino donanımında nasıl hata ayıklıyorsunuz?
cevap
Arduino üzerinde "kaynak kesme noktaları" ayarlamanın yolu, Seri Monitörde görmek istediğiniz değeri göndermek için bir seri çıkış eklemektir.
Hazır olduğunuzda bir sonraki adım WinAVR, AVR Studio ve Atmel JTAG Mark II veya Atmel Dragon'a geçmek.
Bu programlar ve aygıtlar, C kodu oluşturmanıza ve tek bir adımda kod oluşturmanıza, değişkenleri ve kayıt aygıtlarını izlemenize olanak sağlar. JTAG cihazları, C kodunuzdan veya derleyici tarafından oluşturulan montaj kodundan tek adım atabilir.
Yüksek düzeyde gömülü C programlama işleminin hala makineye çok yakın olduğunu önceden tahmin edin ve bir çok kez kodun düzgün çalışmasını engelleyeceğinden, tek adımlı kesme yordamları, zamanlayıcı yordamları ve diğer düşük düzeyli yordamlara dikkat etmeniz gerekir.
Microsoft Visual Studio 2015 Topluluk Sürümü için Visual Micro eklentisi (ücretsiz) Arduino için bir USB hata ayıklayıcısı sağlar. Açıkladığınız gibi yapmanıza izin verir. (IDE yüklemesi sırasında C++ yüklemek için tıklamayı unutmayın)
Hata ayıklayıcı seri, RF, Bluetooth ve bazı Wi-Fi'yi destekler. Arduino çalışırken değişkenlerin değerlerinin izlenmesini veya güncellenmesini sağlar. Saat, izleme, ara ile birlikte grafik ve veri/pin görselleştirmeleri dahildir.
Haber: Ocak 2016 de Arduino Zero için GDB debugger serbest bırakılmasını içerir. Seri/Bluetooth hata ayıklayıcısında olduğu gibi GDB sürümü ino/cpp kaynak kodunu destekler, ancak ayrıca Arduino çekirdek ve kitaplıklarının hata ayıklamasını destekler. Adım, adım, adım talimatı veya kaynak satırı, bellek, kayıtlar, yerliler, saat, canlı ifadeler ve yığın izleri gibi birçok özelliği destekler.
Ayrıca bunu C ve derlemede hata ayıklamak için kullanabilir misiniz? – Pyjong
@pyjong Varsayılan hata ayıklayıcı, Serial veya Wifi'yi kullanır; c'den çalışmaz, yalnızca .Ino ve .cpp ile çalışır. Ancak, yönetim kurulu Gdb'yi destekliyorsa veya bir donanım hata ayıklayıcınız varsa, başka seçenekler de vardır, bu yüzden lütfen forumumuzda bir iş parçacığı açın ve bir soru sorun. Cevap vereceğiz ve yardımcı olacağız. Teşekkürler –
Bunun çalışması için donanım için bazı gereksinimler var mı? Örneğin. Arduino Uno üzerinde çalışır mıydı? (Bir lead * Arduino için Debugger olabilir) (https://www.codeproject.com/Articles/1037057/Debugger-for-Arduino) * (The Code Project).) –
Değişkenleri denetlemek için sadece seri monitöre yazdırıyorum. İşte ben şu anda üzerinde çalışıyorum bir örnek:
# Setup
Serial.begin(9600);
# Loop
Serial.println(String(index) + " : " + String(total) + " : " + String(average));
- 1. hatasını Arduino
- 2. , Arduino + Xbee
- 3. C++ (Arduino)
- 4. Arduino programlama
- 5. Arduino için kütüphane oluşturma
- 6. arduino seri veri almıyor
- 7. C++ ve arduino seri bağlantısı
- 8. Arduino kontrolü çoklu NRF24L01
- 9. Sunucuma bağlanın ESP8266 Arduino
- 10. Arduino Seri Kesmeler
- 11. arduino: çalışmıyor başka program
- 12. Okuma/Bir Arduino ile bir proje üzerinde çalışıyorum Arduino
- 13. Sinyal çıkışı arduino
- 14. Arduino RGB LED sorunları
- 15. Arduino Eclipse Serial
- 16. Arduino Nano'da WiFi
- 17. i2cdetect'i arduino görmüyor
- 18. Visual C++: Arduino
- 19. Visual C# 'de Gecikme - Arduino
- 20. Arduino C: readArms `referans tanımsız() '
- 21. Webservice C# Arduino için JSON
- 22. arduino + gprs/gsm ekran koruyucu
- 23. Arduino DateTime olursa olsun ben
- 24. Kayıt dosyası kaydı Arduino Kullanılıyor
- 25. seri haberleşme arduino ve MATLAB
- 26. AMQP/RabbitMQ gönderen AVR (Arduino)
- 27. python seri, arduino hız testine
- 28. Fona 808 Arduino Bağlantıları ile
- 29. arduino atmega328 analog olarak sıfırlandıWrite
- 30. arduino yun dosya sayısını almak
Arduino üzerinde kaynak, kesme noktaları ' "ayarlamak için bir yol' değeri göndermek için bir seri çıkışı eklemektir Serial Monitor görmek istiyor ." Seri bağlantı noktanızı başka bir şey için kullanıyorsanız ne olur? – Jules
Birçok seçenek, AVR Studio ve bir JTAG aygıtı kullanarak geliştirme ortamınızı yükseltin, birden fazla seri bağlantı noktasına sahip olan veya yazılım seri kitaplığını kullanan bir Arduino mega kullanın. – Jeff
Çözüm Aslında kullanıyorum: cihaza bir LCD ekran yapıştırın ve bunu seri konsol yerine hata ayıklama için kullanın, ancak bu seçenekler de ilginçtir. Önceden yazılım serisine rastlamadım, ancak gelecekteki projeler için kullanışlı görünüyor ... – Jules