Recent Posts

Pages: [1] 2 3 ... 10
1
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 22, 2017, 02:12:49 am »
Bit 7 – I: Global Interrupt Enable(เปิดใช้งานอินเตอร์รัพท์โดยรวม)
The Global Interrupt Enable bit ต้องถูก set สำหรับ the interrupts ถูกเปิดใช้งาน. The individual(เฉพาะราย) interrupt enable control ถูกกระทำใน separate(แยกกัน) control registers. ถ้า the Global Interrupt Enable Register ถูก cleared, ไม่มี interrupts ใดถูกเปิดใช้งานโดยอิสระของ the individual interrupt enable settings. The I-bit ถูก cleared โดย hardware หลังจาก an interrupt เกิดขึ้น, และถูก set โดย the RETI instruction เพื่อเปิดใช้งาน interrupts ต่อมา. The I-bit สามารถถูก set และ cleared โดย the application ที่มี the SEI and CLI instructions อีกด้วย, ตามที่อธิบายใน the instruction set reference.
2
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 22, 2017, 01:40:24 am »
11.3.1. Status Register
เมื่อระบุที่อยู่ I/O Registers เป็น data space โดยใช้ LD and ST instructions, การจัดให้มีระยะชดเชยต้องถูกใช้ เมื่อใช้ the I/O specific commands IN and OUT, the offset ถูกลดลง 0x20, เป็นผลให้ an I/O address offset อยูภายใน 0x00 - 0x3F.



ถามหน่อย ระยะ offset นี่คือระยะที่ต้องเพิ่มหรือต้องลดลงจากตำแหน่งที่ระบุใช่หรือเปล่า? ชักจะลืมแล้ว
3
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 21, 2017, 04:48:06 am »
11.3. Status Register
The Status Register บรรจุ information เกี่ยวกับผลของ the most recently executed arithmetic instruction. information นี้สามารถถูกใช้สำหรับเปลี่ยน program flow เพื่อที่กระทำ conditional operations. The Status Register ถูกอัพเดตหลังจาก ALU operations ทั้งหมด, ตามที่ระบุไว้ใน the Instruction Set Reference. นี้ในหลายกรณีจะขจัดความต้องการการใช้ the dedicated compare instructions, เป็นผลให้มีความเร็วมากกว่าและโค๊ดกระทัดรัดกว่า

The Status Register ไม่ได้ถูกเก็บโดยอัตโนมัติเมื่อเข้าสู่ an interrupt routine และคืนให้เมื่อกลับจาก an interrupt. นี้ต้องถูกจัดการโดย software.
4
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 21, 2017, 04:32:47 am »
11.2. ALU – Arithmetic Logic Unit
The high-performance AVR ALU ทำงานในทิศทางที่ต่อด้วย the 32 general purpose working registers ทั้งหมด ภายใน a single clock cycle, arithmetic operations ระหว่าง general purpose registers ด้วยกันหรือระหว่าง a register และ an immediate ถูกปฏิบัติ. The ALU operations ถูกแบ่งเป็น three main categories –arithmetic, logical, and bit-functions. บางการทำให้เกิดผลของ architecture (implementations of the architecture) จัดให้มี  a powerful multiplier อีกด้วยซึ่งสนับสนุนทั้ง signed/unsigned multiplication และ fractional format. ดู Instruction Set Summary section สำหรับการอธิบายที่ละเอียด

Related Links

Instruction Set Summary บนหน้า 432
5
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 21, 2017, 02:20:31 am »
The I/O memory space บรรจุ 64 addresses สำหรับ CPU peripheral functions เป็น Control Registers, SPI, and other I/O functions. The I/O Memory สามารถถูกเข้าถึงโดยตรงหรือเป็น the Data Space locations ต่อจาก those of the Register File, 0x20 - 0x5F. นอกจากนี้, mcu นี้มี Extended I/O space จาก 0x60 - 0xFF ใน SRAM ในที่ซึ่ง the ST/STS/STD and LD/LDS/LDD instructions สามารถถูกใช้เท่านั้น

   แปลไปแปลมา คนแปลก็ไม่เคลียร์ หรือว่าพอแปลนานๆมันตื้อไป ก็ต้องหยุดพักถึงจะดี ตอนนี้เขาอาจกล่าวรวบยอดก่อน เลยยังไม่กระจ่าง พออ่านไปเรื่อยๆแล้วกลับมาอ่านอีกทีก็จะเข้าใจเอง อย่างนั้นใช่มั๊ย งั้นยังไม่เข้าใจก็ต่อไปก่อน  :)
6
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 21, 2017, 01:47:36 am »
Program flow ถูกจัดให้มีโดย conditional and unconditional jump and call instructions, สามารถระบุที่อยู่โดยตรง the whole address space. เกือบทั้งหมด AVR instructions มี a single 16-bit word format. ทุกๆ program memory address บรรจุ a 16- or 32-bit instruction.

Program Flash memory space ถูกแบ่งออกเป็น 2 ส่วนคือ, the Boot Program section และ the Application Program section. ทั้งสองส่วนนี้มี dedicated Lock bits สำหรับ write and read/write protection. The SPM instruction ที่เขียนไปใน the Application Flash memory section ต้องอาศัยอยู่ใน the Boot Program section.

ในระหว่าง interrupts and subroutine calls, the return address Program Counter (PC) ถูกจัดเก็บบน the Stack. The Stack ถูกจัดสรรอย่างมีประสิทธิผลใน the general data SRAM, และดังนั้น the Stack size ถูกจำกัดโดย the total SRAM size และการใช้งานของ the SRAM เท่านั้น  user programs ทั้งหมดต้องเริ่มต้นเตรียมพร้อม the SP ใน the Reset routine (ก่อน subroutines หรือ interrupts ถูกปฏิบัติ). The Stack Pointer (SP) ถูกอ่าน/เขียนเข้าถึงได้ใน the I/O space. The data SRAM สามารถถูกเข้าถึงโดยง่าย่ผ่าน the five different addressing modes ที่สนับสนุนให้มีใน in the AVR architecture.

The memory spaces ใน the AVR architecture เป็น all linear and regular memory maps.

A flexible interrupt module มี control registers ของมันใน the I/O space พร้อมด้วย an additional Global Interrupt Enable bit ใน the Status Register. interrupts ทั้งหมดมี a separate(แยกใครแยกมัน) Interrupt Vector ใน the Interrupt Vector table. The interrupts มีลำดับความสำคัญ(ก่อนหลัง)ซึ่งสอดคล้องกันกับ Interrupt Vector position ของมัน  the Interrupt Vector address ที่ต่ำกว่า, จะมี priority ที่สูงกว่า.
7
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 20, 2017, 03:04:15 pm »
รีจีสเตอร์ 6 ตัวของ the 32 registers สามารถถูกใช้เป็น 16-bit indirect address register pointers 3 ตัวสำหรับ Data Space addressing – สามารถคำนวณแอดเดรสได้อย่างมีประสิทธิผล(enabling efficient address calculations) หนึ่งของ address pointers เหล่านี้สามารถใช้เป็น an address pointer สำหรับ มองดูตาราง(tables) ใน Flash program memory. added function registers เหล่านี้คือ the 16-bit X-, Y-, and Z-register, จะอธิบายภายหลังใน section นี้

The ALU สนับสนุน arithmetic and logic operations ระหว่าง registers หรือระหว่างค่าคงที่และ a register. Single register operations สามารถถูกปฏิบัติได้ใน the ALU. หลังจาก an arithmetic operation, the Status Register ถูกอัฟเดตเพื่อสะท้อนข้อมูลเกี่ยวกับผลของการทำงาน
8
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 20, 2017, 01:16:00 pm »
11. AVR CPU Core

11.1. Overview(การอธิบายอย่างคร่าวๆ)
ในส่วนนี้กล่าวถึง the AVR core architecture โดยทั่วไป. หน้าที่หลักของ the CPU core คือทำให้แน่ใจว่าการปฏิบัติโปรแกรมเป็นไปอย่างถูกต้อง ดังนั้น The CPU ต้องสามารถเข้าถึง memories, กระทำการคำนวณ calculations, ควบคุม peripherals, และจัดการการ interrupts.



เพื่อที่ว่า maximize performance และ parallelism, the AVR ใช้ a Harvard architecture – ด้วยการแยก memories และ buses สำหรับ program และ data. คำสั่ง(Instructions) ใน the program memory ถูกปฏิบัติด้วย a single level pipelining. ขณะที่คำสั่งหนึ่งกำลังถูกปฏิบัติอยู่, the next instruction ถูก pre-fetched จาก the program memory. ด้วยรูปแบบนี้สามรถปฏิบัติคำสั่งในทุกๆ clock cycle. The program memory เป็น In-System Reprogrammable Flash memory.

The fast-access Register File มี 32 x 8-bit general purpose working registers ด้วย a single clock cycle access time. นี้ยอมให้ single-cycle Arithmetic Logic Unit (ALU) operation. โดยปกติ  ALU operation, ตัวถูกดำเนินการ 2 ตัว(two operands) ถูกส่งออกจาก the Register File, การทำงานถูกปฏิบัติ, และผลท่ีได้ถูกส่งกลับไปเก็บใน the Register File – ในหนึ่ง clock cycle.
9
เป็นรูปแบบ Operator ในภาษา C ครับ
A = A * B;  สามารถ เขียนแบบ A *= B; ได้ครับ
  ขอบคุณครับ  ลืม แนบไฟล์ภาพ ขออภัยด้วยครับ
10
AVR and Arduino / Re: Arduino MEGA328P
« Last post by tha on September 20, 2017, 09:59:35 am »

10. Capacitive Touch Sensing
10.1. QTouch Library
The Atmel® QTouch® Library จัดให้มีการใช้แก้ปัญหาอย่างง่ายๆของ realize touch sensitive interfaces ใน Atmel AVR® microcontrollers เกือบทั้งหมด. The QTouch Library ได้รวมการสนับสนุนสำหรับ the Atmel QTouch and Atmel QMatrix® acquisition methods เข้าไว้ด้วย Touch sensing สามารถถูกเพิ่มเข้าไปในโปรแกรมใช้งานต่างๆโดยการเชื่อมโยงถึง the appropriate Atmel QTouch Library สำหรับ the AVR Microcontroller. นี้ทำได้โดยการใช้ a simple set of APIs เพื่อกำหนด the touch channels and sensors, และดังนั้นการเรียก the touch sensing API’s เพื่อดึงข้อมูล the channel information และตัดสินใจกำหนดสถานะ the touch sensor states.The QTouch Library แจกฟรีและสามารถดาวน์โหลดจาก the Atmel website ที่ตำแหน่งดังต่อไปนี้ : http://www.atmel.com/technologies/touch/. สำหรับรายละเอียดการทำให้เกิดผลและข้อมูลอื่นๆ, อ้างอิงถึง the Atmel QTouch Library User Guide - มีให้ดาวน์โหลดจาก the Atmel website อีกด้วย
Pages: [1] 2 3 ... 10