เริ่มต้นด้วย C ที่ฝังตัวพร้อม ATmega32 (ATmega AVR series)


9

ฉันมีบอร์ด ATmega32 วางอยู่รอบ ๆ และฉันคิดว่ามันสมบูรณ์แบบที่จะเริ่มต้นด้วยไมโครคอนโทรลเลอร์ ฉันเคยพูดพล่ามใน C ที่ฝังอยู่ (นั่นคือเมื่อฉันได้รับบอร์ดนี้) แต่การไหลก็หยุดเนื่องจากบางสิ่ง ตอนนี้ฉันมีสองคำถาม:

  1. ทรัพยากรฟรีที่ดีที่สุดในการเริ่มต้นด้วย C สำหรับซีรีส์ avr คืออะไร ฉันรู้จัก AVR-GCC แล้ว แต่กำลังมองหาบทเรียนหรือหนังสือฟรีเพื่อเริ่มต้นฉัน

  2. ฉันควรข้ามไปที่ C โดยตรงหรือผ่าน ASM ก่อนหรือไม่ ฉันเห็นว่ามีหนังสือ asm มากมายอยู่รอบตัว ดังนั้นตัวเลือกที่ดีกว่าคืออะไร?

ในขณะที่ค้นหาอินเทอร์เน็ตฉันพบ Arduino bootloader สำหรับ ATmega32 ที่นี่http://retrointerfacing.com/?p=30แต่ปัญหาคือฉันลังเลที่จะทำการแก้ไขด้วยฟิวส์และทั้งหมด ปลอดภัยไหมที่จะทำเช่นนั้น?

คำตอบ:


5

เข้าร่วมกับAVR ประหลาด คุณจะพบแหล่งข้อมูลมากมายและช่วยเหลือหากคุณติดขัด


6

เอกสาร AVR-libcเป็นแหล่งที่ดีของข้อมูลสำหรับซี AVRs นี่เป็นอีกคนหนึ่ง

โดยส่วนตัวแล้วฉันชอบทำงานเป็นซีการใช้ avr-libc ช่วยให้คุณพกพาโค้ดได้ดีภายในตระกูล AVR อย่างไรก็ตามหากคุณกำลังทำอะไรที่สำคัญเวลาคุณอาจต้องใช้ ASM

หากคุณมีโปรแกรมเมอร์ AVRแบบขนานหรือ "แรงดันสูง" คุณสามารถทำการตั้งโปรแกรมฟิวส์ฟิวส์ใหม่ได้ตลอดเวลา หากคุณใช้ซีเรียล (In-System-Programming, ISP) โปรดระวังอย่าปิดการใช้งานบิต SPIEN หรือ RESETENABLE เพราะสิ่งเหล่านี้จะป้องกันไม่ให้คุณสามารถทำซ้ำโปรแกรมได้

มีArduino programming shield ที่พร้อมใช้งาน


4

ฉันจะเริ่มต้นด้วย C. คุณอาจต้องมีข้อมูลโค้ดของ ASM เป็นครั้งคราว แต่สำหรับแอปพลิเคชันส่วนใหญ่ที่เกี่ยวข้องกับมัน ข้อยกเว้นจะเป็น bootloader ถ้าคุณตัดสินใจที่จะม้วนของคุณเอง

Dave Mellis วางการสอนเกี่ยวกับ AVR ไว้บน Wiki HLT เขากล่าวถึงการตั้งค่าเครื่องมือสำหรับ ATmega328 แต่ดูเหมือนทั่วไปพอที่จะช่วยคุณในอุปกรณ์ต่าง ๆ ดู

http://hlt.media.mit.edu/wiki/index.php/AVR_Programming

ห้องสมุดและตัวอย่างที่ไซต์ Atmel นั้นดูดี ฉันใช้ตัวอย่างบางส่วนจากบันทึกย่อของแอพ ห้องสมุด I2C (TWI) ที่ฉันใช้ในรหัส RTC ของฉันนั้นมาจากไซต์ Atmel


3

ฉันจะไปกับ Arduino ก่อน หนังสือแบบฝึกหัดและโค้ดตัวอย่างจำนวนมาก และชุมชนที่ดีและดี ถ้าคุณคุ้นเคยกับ Arduino ลอง C กับ AVR-GCC

วันนี้ฉันไม่สามารถแนะนำ ASM ได้ อาจมีบางมุมที่คุณอาจต้องใช้ ASM แต่สิ่งต่าง ๆ ส่วนใหญ่สามารถแก้ไขได้ด้วย C ธรรมดาด้วย ASM คุณสามารถเรียนรู้รายละเอียดบางอย่างเกี่ยวกับวิธีการทำงานของไมโครคอนโทรลเลอร์ แต่ถ้าคุณต้องการทำให้สิ่งต่าง ๆ เกิดขึ้นเร็วขึ้น C หรือ C ++


ปัญหามันยากมากที่จะได้รับอาร์ดิโนที่ฉันอยู่ ฉันวางแผนที่จะสร้างด้วยตัวเอง แต่ก็ไม่ได้ผล (อ่านไม่มีเวลา)
Rick_2047

หากคุณมีความสามารถในการเขียนโปรแกรมชิปจากนั้นคุณสามารถโหลดเฟิร์มแวร์ Arduino บนมันจากนั้นใช้พอร์ตอนุกรม + bootloader สำหรับการทำงานที่ตามมา
gallamine

0

คุณสามารถเริ่มต้นจากการเขียนโปรแกรม C สำหรับไมโครคอนโทรลเลอร์โดย Joe Pardue ใช้ AVRStudio5 และไปที่http://avrfreaks.netคุณจะได้พบกับผู้ชายที่เท่ห์และมีประโยชน์มากมายที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.