ซื้อตัว Nano ไปดู เพื่อจะได้ย่อส่วนให้วงจรเล็กลง นำไปใช้ได้สะดวกขึ้น แต่มีปัญหาตรงโค้ดที่ใช้เบิร์น UNO R3 ได้ปกติ พอเบิร์นเข้าตัว Nano แล้วดันขึ้น IP เป็น 0.0.0.0 ครับ
ไม่ทราบว่าสาเหตุเกิดจากอะไรได้บ้างครับ ? ขอบคุณครับ
เป็นการใช้ Arduino Nano ร่วมกับ ENC28J60 Ethernet Shield V1.0 ใช่มั้ยครับ
สาเหตุน่าจะมาจากการใช้งานไลบารี เพราะว่าไลบารี ENC28J60 มีหลายตัว
ผมเดาว่าน่าจะใช้ไลบารี ethernetcard (หรือเปล่า)
ถ้าใช้ไลบารี ETHER_28J60 ใช้งานได้เลยปกติตรับ
สำหรับไลบารี Ethercard ตรงคำสั่ง begin ให้เพิ่มเลข 10 ลงไปด้วยครับ เป็นการบอกว่าขา SS เป็นขา 10
if (ether.begin(sizeof Ethernet::buffer, mymac,10) == 0)
ผมลองใช้ตัวอย่าง testDHCP เพื่อให้แจก ip อัตโนมัติ ก็ได้ผลดังรูปครับ
ติดตรงไหนสอบถามเพิ่มเติมได้ครับ ได้ผลยังไงแจ้งด้วยนะครับ
ขอบคุณเจ้าของร้านครับ ผมพึ่งทราบว่า ENC28J60 มันใช้ไลบารี่ที่มากับโปรแกรม Arduino IDE ไม่ได้ ตอนนี้เลยมาใช้ arduino uip แทน สามารถใช้งานได้ปกติแล้วครับ ติดแค่ใช้ไลบารี่ที่มากับ Arduino IDE ใช้พื้นที่ 14KB กว่าๆ พอใช้ตัวนี้กินพื้นที่ไป 23KB กว่าๆเลย พอจะมีวิธีแก้ไขไหมครับ
ครับเพราะใช้ hardware ไม่เหมือนกัน จึงใช้ไลบารีต่างกัน
ลองใช้ไลบารี ETHER_28J60 ดูครับ น่าจะไฟล์เล็กกว่า ผมลองแล้วเหลือแค่ไม่กี่ K ถ้าทดลองแล้วได้ผลยังไงบอกด้วยนะครับ อยากรู้ด้วยคนครับ