แสดงบทความที่มีป้ายกำกับ Atmel Studio 7 แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Atmel Studio 7 แสดงบทความทั้งหมด

วันอังคารที่ 17 พฤษภาคม พ.ศ. 2559

เพิ่ม ATmega16 เข้าไปใน boards.txt

การเริ่มเรียนรู้ วิธีการเขียนโปรแกรมด้วย AVR Studio 7 บางครั้งก็สับสนไม่แน่ใจว่าโปรแกรมผิดหรือว่าอุปกรณ์ใช้ไม่ได้ ดังนั้นควรมีหลักในการยึดเพื่อเปรียบเทียบบ้างก็จะดี ทำให้หาสาเหตุได้ง่าย โดยผู้เขียนมักจะใช้ Arduino IDE เป็นหลักในการยัด โดยจะทดสอบกับ Arduino IDE แล้วสามารถใช้งานได้ ก็ถือว่าบอร์ดนั้นใช้ได้ จะได้หาสาเหตุที่โปรแกรมต่อไป

โดยปกติแล้ว ATmega16 ไม่ได้อยู่ในรายการบอร์ดของ Arduino IDE เพราะเท่าที่เห็นแล้วบอร์ด Arduino ไม่ได้ใช้ Chip 40 ขา ซึ่งจะมี I/O มากกว่า โดยมี Port A, B, C และ D สามารถเลือกใช้งานขา I/O ได้ถึง 32 ขา ดังนั้นหากต้องการควบคุมอุปกรณ์เป็นจำนวนมากแล้วย่อมต้องเลือก ATmega16 แต่ถ้าอุปกรณ์เพียงไม่กี่ชิ้นก็ไม่เหมาะเพราะไอซี 40 ขาตัวนี้ค่อนข้างใหญ่เทอะทะพอสมควร

ดังนั้นหากต้องการใช้บน Arduino IDE ก็ต้องเข้าไปเพิ่มอุปกรณ์ในไฟล์ boards.txt และอื่นๆ อีกเล็กน้อย โดยเริ่มแรกหาจากอินเตอร์เน็ต ซึ่งทำตามแล้วยังใช้ไม่ได้ เพราะ IDE คนละเวอร์ชัน สภาพแวดล้อมเปลี่ยนจากเดิม แต่ก็ไม่เหนือบ่ากว่าแรง หากพยายามและมีหลักการการค้นหาปัญหา

ATmega16 ที่เพิ่มเข้าไปใน Arduino IDE จะแยกเป็นฮาร์ดแวร์อีกกลุ่มหนึ่ง

วันอาทิตย์ที่ 8 พฤษภาคม พ.ศ. 2559

Atmel Studio 7: กว่าจะอัพโหลดได้

หลังจากที่ติดตั้ง USBasp ใน Windows 10 ได้แล้วก็ถึงคิวติดตั้งโปรแกรมเพื่อเขียนโปรแกรมและอัพโหลดผ่าน USBasp โดยความตั้งใจคือ ใช้โปรแกรมอื่นที่ไม่ใช่ Arduino IDE ซึ่งหลายคนอาจจะสงสัยว่าทำไม ในเมื่อ Arduino IDE ก็สามารถเขียนโปรแกรมควบคุมได้ง่ายๆ โดยไม่ต้องวุ่นวายอะไรเลย

ชุดเบิร์นโปรแกรม Atmega8/168/328 ผ่าน USBasp และสามารถต่ออุปกรณ์ได้เหมือนบอร์ด Arduino

แต่สำหรับผู้เขียนมีความรู้สึกว่า การเขียนโปรแกรมด้วย Arduino IDE เหมือนการเขียนโปรแกรมด้วย Visual Studio ของไมโครซอฟท์ที่ไม่ต้องคิดอะไรมาก อยากเขียนอะไรก็โหลดๆ ไลบรารี่ที่มีคนใจดีเขียนแจกไว้เยอะแยะไปหมด

นำมารวมกับโปรแกรมของเราแล้วเรียกใช้ตามรูปแบบที่เขากำหนดมา ก็ง่ายดี แต่บางครั้งไลบรารีเหล่านั้นก็ทำงานเกินไป ทำให้เสียพื้นที่โปรแกรม หรือไม่ได้อย่างที่เราต้องการ บางครั้งต้องการแค่นิดเดียว แต่ต้องโหลดไลบรารีมาทั้งหมด

เหตุผลการสำคัญ คือ การเขียนโปรแกรมด้วยภาษาซีสำหรับ AVR นั้นทำให้เราได้เรียนรู้เกี่ยวกับคอนโทรลเลอร์ได้ลึกขึ้น เพราะต้องเข้าไปจัดการส่วนต่างๆ ด้วยตนเอง

ทั้งหมดนี้ก็เพื่อที่จะพัฒนาและหวังลึกๆ อยากเขียนไลบรารีแจกบ้างเหมือนกัน :-)

Gtk4 ตอนที่ 6 Defining a Child object

Defining a Child object A Very Simple Editor ในบทความที่ผ่านมาเราสร้างโปรแกรมอ่านไฟล์ชนิดข้อความ และในบทความนี้ก็จะมาปรับแต่งโปรแกรมกันสักหน...