วิธีแก้คือ ลองเช็คการเลือกพอร์ท การเลือกบอร์ด และเลือกโปรแกรมเมอร์ว่าเลือกถูกต้วแล้วครับ
หรืออาจจะเกิดจากการไปใช้เครื่องโปรแกรมลงโปรแกรม ซึ่งการใช้เครื่องโปรแกรมเป็นการเบิร์นโปรแกรมลงโดยตรง จะทำให้ bootloader หาย ทำให้ไม่สามารถอัพโหลดผ่านทาง usb ttl ได้ วิธีแก้ง่าย ๆ คือลง bootloader ใหม่ครับ
จำเป็นต้องใช้เครื่องโปรแกรมครับ ปกติการเบิร์นโปรแกรมลงชิฟต้องใช้เครื่องโปรแกรมได้อย่างเดียว แต่สามารถดัดแปลงให้เบิร์นโปรแกรมผ่านทาง Uart หรือขา rx,tx ของชิฟได้ โดยการลงโปรแกรมเพื่อเพิ่มความสามารถนี้ ซึ่งเรียกว่า bootloader ครับ
ตามตัวอย่างเป็นการแปลงบอร์ด arduino ให้เป็นเครื่องโปรแกรม ซึ่งเป็นตัวอย่างมาตรฐานมีมาใน IDE Arduino อยู่แล้วครับ
อันนี้กรณีทั่วไปเลยที่ใช้กับ arduino ครับ เพราะปกติก็ลงผ่าน bootloader
ซึ่งวิธีโปรแกรมลงชิฟ จริง ๆ มีวิธีเดียวคือผ่านเครื่องโปรแกรม
รวมทั้งตอนลง bootloader ก็ต้องลงผ่านเครื่องโปรแกรมครับ หลังจากลง bootloader แล้วจึงสามารถลงโปรแกรมผ่านทาง rx,tx หรือทาง usb ttl ได้ครับ
ลองลง bootloader ใหม่ ผมแนะนำบอร์ด usbasp และหัวแปลงให้เป็น 6 หัว จะพอดีกับบอร์ด arduino uno เสียบแล้วใช้ได้เลย หรือจะใช้บอร์ด arduino อีกตัวทำเป็นเครื่องโปรแกรมก็ได้ครับแต่ต้องต่อสายไฟเองซักนิดหน่อย