Arduino MEGA328P

Started by tha, September 10, 2017, 10:04:41 AM

Previous topic - Next topic

avr_lover

นอกเรื่องหน่อย ไม่ทราบว่าอายุเท่าไหร่แล้วครับ ผมอายุ 36 แล้ว เคยผ่าเลนส์ตาต้อกระจกตอนอายุ 26 ปีเหมือนกันครับ เคยนึกว่าจะเป็นกันตอนอายุเยอะๆ ปรากฎว่าอายุน้อยก็มีโอกาศเป็นกัน

tha

อายุ 53 แล้วครับ สายตาสั้นมาแต่ 25-26 ก่อนจะเป้นต้อก็สายตาไม่คงที่(เป็นเบาหวานด้วย) สุดท้ายแล้วก้เป็นต้อทั้งสองข้างเลย

ตกลงเดี๋ยวจะแปลต่อนะ ถึงไหนแล้ว คงต้องทบทวนสักหน่อย ลืมหมดแล้ว จะแปลใส่สมุดก่อน แล้วค่อยพิมพ์คอมอีกที จะได้ถนอมสายตา มีอะไรทำแล้วก็คงจะไม่เบื่อ

tha

พอมาเช็คดาต้าชีท ATmega328p ในเน็ต ดาต้าชีทไม่เหมือนเก่าเสียแล้ว เอาไงดี แปลตามดาต้าชีทเก่าเลยนะ เพราะแปลมาก็เยอะแล้ว เอาดาต้าชีทเก่ามาให้ดาวน์โหลดด้วย เผื่อใครจะหาไม่เจอในเน็ต
http://www.mediafire.com/file/603hbrc2d4f68xv/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf/file

ของใหม่เป็นของ Microchip แล้วมั๊ง
https://www.microchip.com/wwwproducts/en/ATMEGA328P


tha

ว่าไงนะ แปลตามดาต้าชีสใหม่ไปเลยเหรอ โอเคร ตกลง แปลตามดาต้าชีสใหม่ไปเลย

tha

ขอเวลาทำความเข้าใจที่แปลไปแล้วสักหน่อย ไม่ได้ทำมานาน ชักจะลืมแล้ว

tha

Figure 12-2. Data Memory Map with 2048 byte internal data SRAM

       

ทบทวนก่อน ก็รู้เพิ่มมาเรื่อยๆแล้ว แต่ก่อนไม่รู้งงไปเลย เขาให้ตัวเลขมาผิด ที่ถูกถ้าใช้คำสั่ง IN/OUT ต้องอยู่ย่านระหว่าง 0X0000-0X003F ไม่ใช่ 0X0000-0x001F



อย่าง EEPROM Address Register High ถ้าใช้คำสั่ง LD(load) and ST(store) ก็จะระบุตำแหน่ง address เป็น 0X0042 เลย คือตำแหน่งฐานของ data memory map เท่ากับ 0x0000 ใช่ใหม แล้ว address ของ EEARH อ๊อฟเซตไป 0x42 ก็คือ address ของ EEARH เท่ากับ 0x0042 นั่นเอง

ถ้าใช้คำสั่ง IN/OUT ก็ลดอ๊อฟเซตลงมา 0X20 ก็จะได้ address เท่ากับ 0x0022 ใช่ใหม ดูภาพประกอบ


tha

วันเสาร์วันอาทิตย์ไม่ต้องโพสต์ใช่ใหม พักผ่อนกันสิ เราทำอะไรทำกันเป็นทีมนะ เคร ตกงานมาจนไม่มีเสาร์อาทิตย์แล้ว

tha

ขออภัยด้วยนะ คงไม่ได้แปลแล้ว ตาไม่ดี ทำมาข้างเดียว มองคอมนานคงไม่ดี ใครนะจะให้กลับมาแปลอีก จะไปเอาเรื่องจิตใจแล้ว