มันจะดีกว่าถ้าจะย้ายไปที่สตูดิโอ AVR (หรือทางเลือกอื่นที่ดีกว่าหรือไม่) เหนือ Arduino IDE รู้สึกเหมือนง่ายและไร้เดียงสา ฉันจำเป็นต้องรู้แนวคิดและทางเลือกของผู้เชี่ยวชาญ ..
มันจะดีกว่าถ้าจะย้ายไปที่สตูดิโอ AVR (หรือทางเลือกอื่นที่ดีกว่าหรือไม่) เหนือ Arduino IDE รู้สึกเหมือนง่ายและไร้เดียงสา ฉันจำเป็นต้องรู้แนวคิดและทางเลือกของผู้เชี่ยวชาญ ..
คำตอบ:
ข้อได้เปรียบอย่างมากของการใช้งานเช่น AVR Studio คือความสามารถในการใช้ไลบรารีทั้งหมดที่สร้างขึ้นสำหรับ ATmega168 / 328 ก่อนรุ่งอรุณของ Arduino ห้องสมุด FFT ห้องสมุดที่ใช้ IC ที่คลุมเครือที่คุณซื้อตัวกรองดิจิทัลพื้นฐานและอื่น ๆ อีกมากมายสามารถพบได้บน AVRfreaks และไซต์งานอดิเรกอื่น ๆ อีกหลายร้อยแห่ง
คุณสามารถเขียนโค้ดที่มีประสิทธิภาพมากขึ้นถ้าคุณเรียนรู้วิธีใช้ไลบรารี AVR มาตรฐานและศึกษาแผ่นข้อมูลของไมโครคอนโทรลเลอร์ (หรือแบบฝึกหัด) สำหรับแอพพลิเคชั่นที่ง่ายรหัส arduino นั้นง่ายต่อการเขียนและดีบัก อย่างไรก็ตามบางครั้งคุณต้องการควบคุมเวลาได้อย่างมีประสิทธิภาพมากขึ้น AnalogRead()
ต้องการ 100µ เพื่อดำเนินการ ที่สอดคล้องกับ10ksps (พันตัวอย่างต่อวินาที) คุณสามารถปั๊มได้อย่างง่ายดายถึง70kspsหากคุณเข้าถึงรหัสระดับต่ำสำหรับ ATmega168 / 328 แน่นอนว่าคุณสามารถทำทั้งหมดใน Arduino IDE ได้ แต่ ณ จุดหนึ่งโครงการของคุณอาจซับซ้อนเกินไปและคุณต้องการเขียนไลบรารีของคุณเองด้วยฟังก์ชั่นที่เร็วขึ้น AVR Studio อาจเหมาะกว่าสำหรับสิ่งนั้น
นอกจากนี้หากคุณเคยต้องการที่จะเขียนโปรแกรมชิป AVR อื่น ๆ นอกเหนือจากที่เสนอโดย Arduino คุณจะต้องมีโปรแกรมเมอร์และ IDE ที่แตกต่างกัน โครงการขนาดเล็กที่ใช้รหัส 1kB สามารถทำได้ใน ATtiny คุณสามารถซื้อโหลเหล่านั้นได้ในราคาเดียว ATmega328 ชิปเหล่านั้นราคาถูกและมีความสามารถส่วนใหญ่ของ Arduino: I2C, SPI, ADC คุณสามารถค้นหาไลบรารีที่เพิ่มอินเทอร์เฟซ USB HID ได้! ไม่มีไดรเวอร์อนุกรมหรืออะไร!
ส่วนตัวผมเขียนโค้ดใน Arduino IDE ก่อนโดยไม่ต้องปรับโค้ดให้เหมาะสม หากใช้งานได้รหัสนั้นสามารถถูกคัดลอกไปยังไลบรารี C ++ มาตรฐานได้อย่างง่ายดายและมีประสิทธิภาพมากขึ้น
มันง่ายเพราะทุกคนจะต้องเข้าถึงและใช้งานได้: ทุกคนและน้องสาวของเขาสามารถตั้งโปรแกรม Arduino ได้
หากคุณรู้สึกว่าคุณสามารถจัดการอะไรได้มากกว่าเช่นReal Programmingฉันจะทำเช่นนั้นอย่างแน่นอน คุณจะต้องเขียนรหัสเพิ่มเติม แต่จะมีการควบคุมมากขึ้น จุดสำคัญ: ห้องสมุด Arduino ไม่มีประสิทธิภาพอย่างน่ากลัว: ฟังก์ชั่นเช่นDigitalWrite
และDigitalRead
สามารถทำได้ถึง 50 ครั้งได้เร็วขึ้น
DigitalRead/Write
ขอบคุณสำหรับข่าวเกี่ยวกับ ไม่เคยรู้เลยว่า ..
คำตอบส่วนใหญ่มุ่งเน้นไปที่การใช้บอร์ด Arduino เป็นบอร์ด AVR มาตรฐาน แต่คุณยังสามารถใช้ IDE ขั้นสูงขึ้นและยังคงใช้ประโยชน์จากความเรียบง่ายของการเข้ารหัส Arduino และไลบรารีในตัว (รวมถึงข้อเสียที่กล่าวถึงข้างต้น) EngBlaze เพิ่งทำการสอนเกี่ยวกับเรื่องนี้: การสอน: การใช้ Atmel Studio 6 กับโครงการ Arduino
Arduino IDE ซื้อขายรหัสประสิทธิภาพเพื่อความสะดวกและรวดเร็วในการพัฒนาสำหรับโครงการขนาดเล็ก เพราะผู้เชี่ยวชาญมีกำหนดเวลาเช่นกันจึงเป็นที่ยอมรับได้อย่างสมบูรณ์ในการใช้ Arduino IDE สำหรับการพิสูจน์แนวคิดอย่างรวดเร็วหรือเพื่อช่วยในการดีบักโครงการอื่น
หากคุณต้องการมีความเชี่ยวชาญในการพัฒนาซอฟต์แวร์แบบฝังตัวคุณต้องสามารถใช้เครื่องมือในการพัฒนาที่ทรงพลังเช่น AVR Studio หรือ avr-gcc และ IDE ที่คุณต้องการ
นอกเหนือไปจากการพัฒนาเครื่องมือการเรียนรู้การทำงานภายในของไมโครคอนโทรลเลอร์และรู้ว่าการประกอบบางอย่างเป็นข้อดีถ้าคุณตั้งใจจะทำงานกับระบบที่มีหน่วยความจำขนาดเล็กและ / หรือความต้องการพลังงานต่ำและ / หรือประสิทธิภาพสูง
so
รหัสแอสเซมบลีที่ซับซ้อนได้ แม้ว่ามันจะดูค่อนข้างยาก แต่คุณสามารถเรียนรู้วิธีการทำงานของไมโครคอนโทรลเลอร์ได้อย่างแม่นยำ ฉันคิดว่าหลายคนจะพบว่าคำตอบนี้มีประโยชน์ หวังว่าคุณจะได้รับคะแนนมากขึ้น: D .. (และนี่คือคำตอบแรกของคุณใช่มั้ย)