Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - tha

Pages: [1] 2 3 ... 8
1
15. SCRST - System Control and Reset

15.1. Resetting the AVR
ในระหว่าง reset, I/O Registers ทั้งหมดถูกเซทไปยังค่าเริ่มต้นของมัน, และ the program สตาร์ทการปฏิบัติงานจาก the Reset Vector. คำสั่งที่วางที่ the Reset Vector ต้องเป็นคำสั่ง an Absolute Jump instruction (JMP) ไปยัง the reset handling routine สำหรับ. ถ้า the program ไม่เปิดการใช้งาน an interrupt source, the Interrupt Vectors จะไม่ถูกใช้, และ program code ปกติสามารถถูกวางที่ตำแหน่งนี้. นี่ก็เป็นกรณีถ้า the Reset Vector อยู่ในส่วนแอ็พพลิเคชันในขณะที่ the Interrupt Vectors อยู่ในส่วนบูตหรือในทางกลับกัน. The circuit diagram ใน the next section แสดง the reset logic.

The I/O ports ของ the AVR จะถูกรีเซ็ตเป็นสถานะเริ่มต้นทันทีเมื่อแหล่งสัญญาณรีเซ็ตแหล่งหนึ่ง active. นี้ไม่ต้องการใช้แหล่งสัญญาณนาฬิกาใด ๆรันให้

หลังจาก reset sources ทั้งหมดหายไป, a delay counter ถูกปลุกขึ้น, ยืดเวลา the internal reset ออกไป. นี้ยอมให้ the power ไปถึงระดับที่มั่นคงก่อนที่การทำงานปกติจะสตาร์ท. The time-out period ของ the delay counter ถูกกำหนดโดย the user ผ่านทาง the SUT and CKSEL Fuses. ทางเลือกที่แตกต่างกันสำหรับ the delay period ถูกแสดงใน the System Clock and Clock Options chapter.

ปล. program address 0x00(เริ่มต้น) เป็น reset vector ใช่หรือเปล่า เป็นคำสั่ง jump ให้ข้าม interrupt vector ไปยัง main program ใช่มัํย ชักลืมแล้ว
http://web.csulb.edu/~hill/ee346/Lectures/10%20ATmega328P%20Interrupts.pdf

2
อยากได้หนังสือ ปฏิบัติการไมโครคอนโทรลเลอร์ ARM Cortext-M3 กับ STM32 กลับคืนมาครับ นึกว่าจะไม่ได้เล่น mcu แล้วเลยขายไป ตอนนี้กลับมาเล่น mcu ใหม่ เลยอยากได้กลับมา ท่านใดไม่ได้เล่นแล้วต้องการขายติดต่อมาครับ หรือเมล์ thamanoon0996@gmail.com

http://www.electoday.com/index.php/topic,15733.0.html

3
AVR and Arduino / Atmega328P Datasheet 18. I/O-Ports
« on: November 06, 2017, 03:17:08 pm »
ข้ามไปก่อนก็แล้วกัน เอาบทง่ายๆที่ใช้งานบ่อยขึ้นก่อนก็แล้วกัน ดาต้าชีตผมว่าไม่ค่อยจะเรียงลำดับสักเท่าไหร่ วันนี้อากาศเย็นเลยแปลตอนกลางวันได้ เลยไปได้เรื่อยๆก็เพลินดีมีงานอดิเรกทำ

18. I/O-Ports

18.1. Overview(ภาพรวม)

AVR ports ทั้งหมดมีฟังก์ชัน Read-Modify-Write ที่แท้จริง เมื่อใช้เป็น general digital I/O ports. นี้หมายความว่าทิศทางของขาพอร์ตหนึ่งสามารถถูกเปลี่ยนได้โดยปราศจากการเปลี่ยนที่ไม่ตั้งใจของทิศทางของขาอื่น ๆ ด้วยคำสั่ง SBI และ CBI. เช่นเดียวกันกับเมื่อเปลี่ยน drive value (ถ้ากำหนดเป็น output) หรือ enabling/disabling of pull-up resistors (ถ้ากำหนดเป็น input). Each output buffer แต่ละตัวมีลักษณะของการไดรฟ์แบบสมมาตรกันโดยมีทั้งความสามารถในการดึงลงกราวน์(sink)และเป็นแหล่งจ่ายไฟ(source)สูง. The pin driver มีความแข็งแรงเพียงพอที่จะไดรฟ์ LED displays ได้โดยตรง. port pins ทั้งหมดมี pull-up resistors ที่เลือกได้เฉพาะของแต่ละตัวด้วย a supply-voltage ที่มีความต้านทานที่คงที่. I/O pins ทั้งหมดมี protection diodes ทั้ง VCC and Ground ดังแสดงในรูปต่อไปนี้.



registers และ bit ทั้งหมดที่อ้างอิงใน section นี้ถูกเขียนในรูปแบบทั่วไป. ตัวพิมพ์เล็ก “x” หมายถึงหมายเลขตัวอักษรสำหรับ the port นั้นๆ, และตัวพิมพ์เล็ก "n" หมายถึง bit number นั้นๆ อย่างไรก็ตามเมื่อใช้ the register หรือ bit กำหนดลงใน a program, รูปแบบที่ถูกต้องต้องถูกใช้ ตัวอย่างเช่น, PORTB3 สำหรับ bit no. 3 ในเอกสารนี้โดยทั่วไปอ้างเป็น PORTxn.

I/O memory address locations ถูกจัดแบ่งสำหรับแต่ละ port, แต่ละพอร์ตสำหรับ the Data Register – PORTx, Data Direction Register – DDRx, and the Port Input Pins – PINx. The Port Input Pins I/O location ถูกอ่านได้เพียงอย่างเดียว ขณะที่ the Data Register และ the Data Direction Register ถูกอ่าน/เขียนได้. อย่างไรก็ตามการเขียน '1' ไปยังบิตหนึ่งใน PINx Register จะทำให้เกิดการสลับในบิทที่ตรงกันใน the Data Register. นอกจากนี้, การปิดการใช้งาน the Pull-up Disable – PUD bit ใน MCUCR จะปิดการใช้งาน the pull-up function สำหรับทุก pins ใน
ทุก ports เมื่อเซท.

การใช้ the I/O port เป็น General Digital I/O ถูกอธิบายในส่วนถัดไปนี้  port pins โดยมากแล้วใช้ร่วมกันกับหน้าที่ทางเลือกอื่น (alternate functions) สำหรับอุปกรณ์ต่อพ่วงต่างๆ บน the device. วิธีที่แต่ละ alternate function ยุ่งเกี่ยวกับ the port pin ถูกอธิบายใน Alternate Port Functions section ในบทนี้.  โปรดดูที่ the individual module sections สำหรับการคำอธิบายแบบเต็มของ the alternate functions

การเปิดใช้งาน the alternate function ของบาง the port pins ไม่มีผลกระทบต่อการใช้ pins อื่นๆใน the port ที่ใช้เป็น general digital I/O.

4
รอตัวโปรแกรม ET-AVR ISP mkII ยังไม่ได้สักที จะขึ้นเรื่องใหม่เรื่อง clock ก็ยังไม่จบ ยังไม่ได้ลองกับตัวเอง จะขึ้นเรื่องใหม่ก็จะมั่วกันไปมา พรายกระซิบบอกให้ขึ้นหัวข้อใหม่แยกกันไปเลย จะได้ไม่สับสน ก็ดีเหมือนกัน

14. PM - Power Management and Sleep Modes

14.1. Overview
Sleep modes ทำให้ the application สามารถ shut down โมดูลที่ไม่ได้ใช้งานใน the MCU,  ซึ่งช่วยประหยัดพลังงาน. The device จัดให้มี sleep modes อย่างหลากหลายทำให้ผู้ใช้สามารถปรับการใช้พลังงานให้เหมาะสมกับความต้องการใช้งาน

เมื่อเปิดใช้งาน, the Brown-out Detector (BOD) จะโมนิเตอร์ตรวจสอบ the power supply voltage ในระหว่าง the sleep periods. เพื่อประหยัดพลังงานมากขึ้นคุณสามารถปิดการใช้งาน the BOD ในบาง sleep modes. ดูที่หัวข้อ BOD Disable ด้วย.
Note: BOD disable มีให้ใช้แต่ใน ATmega328P เท่านั้น.

14.2. Sleep Modes
ตารางต่อไปนี้แสดง sleep modes ต่างๆ, ความสามารถของ BOD disable และ wake-up sources ของพวกมัน.



Note:
1. แนะนำเฉพาะกับ external crystal หรือ resonator ถูกเลือกเป็น clock source เท่านั้น.
2. ถ้า Timer/Counter2 กำลังรันใน asynchronous mode.
3. สำหรับ INT1 และ INT0, มีเพียง level interrupt เท่านั้น

เพื่อที่จะเข้า the six sleep modes ใดโหมดหนึ่ง, the Sleep Enable bit ใน the Sleep Mode Control Register (SMCR.SE) ต้องถูกเขียนให้เป็น '1' และ a SLEEP instruction ต้องถูกปฏิบัติ. Sleep Mode Select bits (SMCR.SM[2:0]) ที่เลือก sleep mode ใดโหมดหนึ่ง(Idle, ADC Noise Reduction, Power-down, Power-save, Standby, or Extended Standby) จะถูกทำให้เป็นผลโดยคำสั่ง the SLEEP instruction.

หมายเหตุ: The block diagram ใน the section System Clock and Clock Options จัดให้มีภาพรวมที่คอบคุม the different clock systems ต่างๆใน the device, และการแจกจ่ายของมัน. รูปนี้เป็นตัวช่วยในการเลือก an appropriate(ที่เหมาะสม) sleep mode.

ถ้า an enabled interrupt เกิดขึ้นขณะที่ the MCU อยู่ใน a sleep mode, the MCU จะ wakes up. จากนั้นThe MCU จะหยุดเป็นเวลา 4 cycles นอกเหนือจาก the start-up time, การปฏิบัติ the interrupt routine, และหวนคืนปฏิบัติการคำสั่งที่ต่อจาก SLEEP. สิ่งที่บรรจุอยู่ใน the Register File and SRAM จะไม่เปลื่ยนแปลงเมื่อ the device ตื่นจาก sleep. ถ้า a reset เกิดขึ้นในระหว่าง sleep mode, the MCU จะ wakes up และปฏิบัติการจาก the Reset Vector.

5
ลง winavr-20100110 แล้วลง avr studio 4.19 แล้ว เปิด avr studio 4 มันโชว์มองไม่เห็น avr toolchain พอเขียนแล้วลองคอมไพล์ก็ error ต้องไปตั้งที่ตรงไหนครับ


6
AVR and Arduino / Arduino MEGA328P
« on: September 10, 2017, 10:04:41 am »
   หยุดทำไมโครคอนโทรลเลอร์(ARM Cortex-M) ไปสองปีกว่า ไปทำเรื่องของจิตใจ คือไปบวชมา(ได้เดือนเดียว) เอาความโกรธความอยากออกจากจิตใจ  สัมมาสติสัมมาสมาธิ นั่งสมาธิเดินกรมจง แล้วก็มีทีมงานช่วยดึงความโกรธความอยากออก นั่งสมาธินี้ทำมานานเป็นสิบปีเชียวแหละ(ทำบ้างพักบ้าง) จนไม่มีวิตกวิจาร แล้วจึงจะเกิดปิติ(ความอิ่มเอิบขึ้นที่หน้า) ความโกรธความอยากถึงจะหลุด กิเลสเบาบางลงแล้วก็สุขไปอย่าง สมาธิจะดีขึ้นเป็นลำดับ(จะอ่านหนังสือได้ดีขึ้นด้วย แต่ต้องที่เย็นๆด้วยนะถึงจะอ่านหนังสือได้ดี นี่เป็นเหตให้ประเทศโซนหนาวเจริญทางด้านวัตถุมากกว่าประเทศโซนร้อน)
   ลืมไปหมดแล้ว ARM ไม่รู้จะทำอะไร เลยสั่ง Arduino UNO R3 มาลองเล่น ชอบที่ตรงโปรแกรมมันฟรี ไม่ต้องกังวลใจใช้โปรแกรมแคร๊ค ก็จะศึกษาอย่างละเอียดเลย จะอ่าน MEGA328P data sheet ด้วย ไหนๆก็อ่านแล้ว ก็จะแปลเก็บไว้ที่โพสต์นี้ด้วย เผื่อท่านใดสนใจจะติดตามอ่าน คงต้องใช้เวลาศึกษาสักพักเพราะลืมสำนวณลืมโครงสร้างของ mcu ไปหมดแล้ว ใครจะชี้แนะแนะนำตรงไหนก็โพสต์มาได้นะครับ

7




ตัวนี้โมเสียบขาใช้ J-Link V8 ได้ ลองเช็คขาดูดีๆ ขาย 450 บาท พร้อมค่าส่งครับ

8


STM32F0-Discovery สภาพใชโดนไฟไม่กี่ครั้ง ขาย 250 บาท พร้อมค่าจัดส่ง



STM32F3-Discovery สภาพใชโดนไฟไม่กี่ครั้ง ขาย 450 บาท พร้อมค่าจัดส่ง



NUCLEO-F401RE สภาพใชโดนไฟไม่กี่ครั้ง ขาย 350 บาท พร้อมค่าจัดส่ง



ET-STM32F103 สภาพใช้งานมาแล้วอย่างโชกโชน ขาย 200 บาท พร้อมค่าจัดส่ง

จะเอาตังไปซื้อบอร์ด Arduino มาหัดเล่น หรือติดต่อมาที่ thamanoon0996@gmail.com  ราคาต่อรองได้ครับ


Pages: [1] 2 3 ... 8