STM32F7 22 Advanced-control timers (TIM1/TIM8)

  • 101 Replies
  • 1234 Views
*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #72 on: January 25, 2023, 07:54:22 am »
22.4.4 TIMx DMA/interrupt enable register (TIMx_DIER)( x = 1, 8 )

Address offset: 0x0C
Reset value: 0x0000






*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #73 on: January 25, 2023, 10:42:46 am »
22.4.5 TIMx status register (TIMx_SR)( x = 1, 8 )

Address offset: 0x10
Reset value: 0x0000 0000



Bits 31:18 Reserved, must be kept at reset value.

Bit 17 CC6IF: Compare 6 interrupt flag
     อ้างอิงถึง CC1IF description (Note: Channel 6 สามารถถูกกำหนดค่าเฉพาะเป็น output)

Bit 16 CC5IF: Compare 5 interrupt flag
     อ้างอิงถึง CC1IF description (Note: Channel 5 สามารถถูกกำหนดค่าเฉพาะเป็น output)

Bits 15: Reserved, must be kept at reset value.

Bit 12 CC4OF: Capture/Compare 4 overcapture flag
     Refer to CC1OF description

Bit 11 CC3OF: Capture/Compare 3 overcapture flag
     Refer to CC1OF description

Bit 10 CC2OF: Capture/Compare 2 overcapture flag
     Refer to CC1OF description

Bit 9 CC1OF: Capture/Compare 1 overcapture flag
     flag นี้ถูกเซ็ตโดย hardware เฉพาะเมื่อ the corresponding channel ถูกกำหนดค่าใน input capture mode. มันถูกเคลียร์โดย
     software โดยการเขียนมันเป็น ‘0’.
     0: ไม่มี overcapture ถูกตรวจจับแล้ว.
     1: The counter value ถูก captured ใน TIMx_CCR1 register ในขณะที่ CC1IF flag ถูกเซ็ตแล้ว

*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #74 on: January 26, 2023, 07:16:21 am »
Bit 8 B2IF: Break 2 interrupt flag
     flag นี้ถูกเซ็ตโดย hardware ทันทีที่ the break 2 input ไปเป็น active. มันสามารถถูกเคลียร์โดย software ถ้า the break 2
     input ไม่ active.
     0: ไม่มี break event เกิดขึ้น.
     1: An active level ถูกตรวจพบแล้วบน the break 2 input. An interrupt จะถูกสร้างถ้า BIE=1 ใน the TIMx_DIER register. 

Bit 7 BIF: Break interrupt flag
     flag นี้ถูกเซ็ตโดย hardware ทันทีที่ the break input ไปเป็น active. มันสามารถถูกเคลียร์โดย software ถ้า the break input
     ไม่ active.
     0: ไม่มี break event เกิดขึ้น.
     1: An active level ถูกตรวจพบบน the break input. An interrupt จะถูกสร้างถ้า BIE=1 ใน the TIMx_DIER register. 

Bit 6 TIF: Trigger interrupt flag
     flag นี้ถูกเซ็ตโดย hardware บน trigger event (active edge ถูกตรวจพบบน TRGI input เมื่อ the slave mode controller ถูก
     เปิดใช้งานในทุก modes ยกเว้น gated mode, มันถูกเซ็ตเมื่อ the counter สตาร์ทหรือหยุด เมื่อ gated mode ถูกเลือก). มันถูก
     เคลียร์โดย software.
     0: ไม่มี trigger event เกิดขึ้น.
     1: Trigger interrupt ค้างอยู่.

Bit 5 COMIF: COM interrupt flag
     flag นี้ถูกเซ็ตโดย hardware บน COM event (เมื่อ Capture/compare Control bits - CCxE, CCxNE, OCxM - ถูกอัปเดต
     แล้ว). มันถูกเคลียร์โดย software.
     0: ไม่มี COM event เกิดขึ้น.
     1: COM interrupt ค้างอยู่.

*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #75 on: January 26, 2023, 08:43:05 am »
Bit 4 CC4IF: Capture/Compare 4 interrupt flag
     อ้างอิงถึง CC1IF description

Bit 3 CC3IF: Capture/Compare 3 interrupt flag
     refer to CC1IF description

Bit 2 CC2IF: Capture/Compare 2 interrupt flag
     refer to CC1IF description

Bit 1 CC1IF: Capture/compare 1 interrupt flag
     ถ้า channel CC1 ถูกกำหนดค่าเป็น output:
     flag นี้ถูกเซ็ตโดย hardware เมื่อ the counter เท่ากับ the compare value, ด้วยบางข้อยกเว้นใน center-aligned mode
     (อ้างอิงถึง the CMS bits ใน the TIMx_CR1 register description). มันถูกเคลียร์โดย software.
     0: ไม่เท่ากัน.
     1: The content ของ the counter TIMx_CNT เท่ากันกับ the content ของ the TIMx_CCR1 register. เมื่อ the contents
     of TIMx_CCR1 ใหญ่กว่า the contents of TIMx_ARR, the CC1IF bit ไปเป็น high บน the counter overflow (ใน
     upcounting และ up/down-counting modes) หรือ underflow (ใน downcounting mode)
     ถ้า channel CC1 ถูกกำหนดค่าเป็น input:
     บิตนี้ถูกเซ็ตโดย hardware บน a capture. มันถูกเคลียร์โดย software หรือโดยการอ่าน the TIMx_CCR1 register.
     0: ไม่มี input capture เกิดขึ้น.
     1: The counter value ถูก captured แล้วใน TIMx_CCR1 register (ขอบขาถูกตรวจพบได้แล้วบน IC1 ซึ่งตรงกันกับ the
     selected polarity).

Bit 0 UIF: Update interrupt flag
     บิตนี้ถูกเซ็ตโดย hardware บน an update event. มันถูกเคลียร์โดย software.
     0: ไม่มี update เกิดขึ้น.
     1: Update interrupt ค้างอยู่. บิตนี้ถูกเซ็ตโดย hardware เมื่อ the registers ถูกอัฟเดต:
     –   ที่ overflow หรือ underflow จะเกี่ยวกับ the repetition counter value (จะอัฟเดตถ้า repetition counter = 0) และถ้า
          the UDIS=0 ใน the TIMx_CR1 register.
     –   เมื่อ CNT ถูกเริ่มต้นใหม่โดย software โดยใช้ the UG bit ใน TIMx_EGR register, ถ้า URS=0 และ UDIS=0 ใน the
          TIMx_CR1 register.
     –   เมื่อ CNT ถูกเริ่มต้นใหม่โดย a trigger event (อ้างอิงถึง Section 22.4.3: TIMx slave mode control register
          (TIMx_SMCR)( x = 1, 8 )), ถ้า URS=0 และ UDIS=0 ใน the TIMx_CR1 register.

*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #76 on: January 26, 2023, 09:59:36 am »
22.4.6 TIMx event generation register (TIMx_EGR)( x = 1, 8 )

Address offset: 0x14
Reset value: 0x0000



Bits 15:9 Reserved, must be kept at reset value.

Bit 8 B2G: Break 2 generation
     บิตนี้ถูกเซ็ตโดย software เพื่อสร้าง an event, มันถูกเคลียร์โดยอัตโนมัติโดย hardware.
     0: No action
     1: A break 2 event ถูกสร้าง. MOE bit ถูกเคลียร์และ B2IF flag ถูกเซ็ต. Related interrupt สามารถเกิดขึ้นถ้าเปิดใช้งาน

Bit 7 BG: Break generation
     บิตนี้ถูกเซ็ตโดย software เพื่อสร้าง an event, มันถูกเคลียร์โดยอัตโนมัติโดย hardware.
     0: No action
     1: A break event ถูกสร้าง. MOE bit ถูกเคลียร์และ BIF flag ถูกเซ็ต. Related interrupt หรือ DMA transfer สามารถเกิดขึ้นถ้า
         เปิดการใช้งาน

Bit 6 TG: Trigger generation
     บิตนี้ถูกเซ็ตโดย software เพื่อสร้าง an event, มันถูกเคลียร์โดยอัตโนมัติโดย hardware.
     0: No action
     1: The TIF flag ถูกเซ็ตใน TIMx_SR register. interrupt หรือ DMA transfer ที่เกี่ยวข้องสามารถเกิดขึ้นถ้าถูกเปิดการใช้งาน.

Bit 5 COMG: Capture/Compare control update generation
     บิตนี้สามารถถูกเซ็ตโดย software, มันถูกเคลียร์โดยอัตโนมัติโดย hardware.
     0: No action
     1: เมื่อ CCPC bit ถูกเซ็ต, มันจะยอมให้อัฟเดต CCxE, CCxNE and OCxM bits
  Note: บิตนี้ทำงานเฉพาะบน channels ที่มี a complementary output

*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #77 on: January 26, 2023, 10:28:55 am »
Bit 4 CC4G: Capture/compare 4 generation
     refer to CC1G description

Bit 3 CC3G: Capture/compare 3 generation
     refer to CC1G description

Bit 2 CC2G: Capture/compare 2 generation
     refer to CC1G description

Bit 1 CC1G: Capture/compare 1 generation
     บิตนี้ถูกเซ็ตโดย software เพื่อสร้าง an event, มันถูกเคลียร์โดยอัตโนมัติโดย hardware.
     0: No action
     1: A capture/compare event ถูกสร้างบน channel 1:
     ถ้า channel CC1 ถูกกำหนดค่าเป็น output:
     CC1IF flag ถูกเซ็ต, interrupt or DMA request ที่ตรงกันถูกส่งถ้าถูกเปิดการใช้งาน..
     ถ้า channel CC1 ถูกกำหนดค่าเป็น input:
     The current value ของ the counter ถูก captured ใน TIMx_CCR1 register. The CC1IF flag ถูกเซ็ต, the
     corresponding interrupt or DMA request ถูกส่งถ้าถูกเปิดการใช้งาน. The CC1OF flag ถูกเซ็ตถ้า the CC1IF flag เป็น high
     อยู่แล้ว.

Bit 0 UG: Update generation
     บิตนี้ถูกเซ็ตโดย software เพื่อสร้าง an event, มันถูกเคลียร์โดยอัตโนมัติโดย hardware.
     0: No action
     1: เริ่มต้นใหม่ the counter และสร้าง an update ของ the registers. บันทึกไว้ว่า the prescaler counter จะถูกเคลียร์ด้วย
      (อย่างไรก็ตาม the prescaler ratio ไม่ได้รับผลกระทบ). The counter จะถูกเคลียร์ถ้า the center-aligned mode ถูกเลือกหรือ
      ถ้า DIR=0 (upcounting), ถ้าเป็นอย่างอื่นมันจะเอา the auto-reload value (TIMx_ARR) ถ้า DIR=1 (downcounting).

*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #78 on: January 27, 2023, 05:36:54 am »
22.4.7 TIMx capture/compare mode register 1 (TIMx_CCMR1)( x = 1, 8 )

Address offset: 0x18
Reset value: 0x0000 0000

The channels สามารถถูกใช้ใน input (capture mode) หรือใน output (compare mode). The direction of a channel ถูกกำหนดโดยการกำหนดค่า the corresponding CCxS bits. บิตอื่นทั้งหมดของรีจีสเตอร์นี้มีหน้าที่ที่แตกต่างกันใน input และใน output mode. สำหรับบิตที่กำหนด, OCxx อธิบายหน้าที่ของมันเมื่อ the channel ถูกกำหนดค่าใน output, ICxx อธิบายหน้าที่ของมันเมื่อ the channel ถูกกำหนดค่าใน input. ดังนั้นคุณต้องดูแลว่าบิตเดียวกันสามารถมีความหมายแตกต่างกันสำหรับ the input stage และสำหรับ the output stage.


*

Offline tha

  • *****
  • 4854
    • View Profile
Re: STM32F7 22 Advanced-control timers (TIM1/TIM8)
« Reply #79 on: January 27, 2023, 05:45:54 am »
Output compare mode

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 OC2M[3]: Output Compare 2 mode - bit 3
     อ้างอิงถึง OC2M description บน bits 14:12.

Bits 23:17 Reserved, must be kept at reset value.

Bits16 OC1M[3]: Output Compare 1 mode - bit 3
     อ้างอิงถึง OC1M description บน bits 6:4

Bit 15 OC2CE: Output Compare 2 clear enable

Bits 14:12 OC2M[2:0]: Output Compare 2 mode

Bit 11 OC2PE: Output Compare 2 preload enable

Bit 10 OC2FE: Output Compare 2 fast enable

Bits 9:8 CC2S[1:0]: Capture/Compare 2 selection
     bit-field นี้กำหนดทิศทางของ the channel (input/output) รวมถึง the used input.
     00: CC2 channel ถูกกำหนดเป็น output
     01: CC2 channel ถูกกำหนดเป็น input, IC2 ถูกแม็ปบน TI2
     10: CC2 channel ถูกกำหนดเป็น input, IC2 ถูกแม็ปบน TI1
     11: CC2 channel ถูกกำหนดเป็น input, IC2 ถูกแม็ปบน TRC. โหมดนี้กำลังทำงานเฉพาะถ้า an internal trigger input ถูกเลือก
           ผ่านทาง the TS bit (TIMx_SMCR register)
  Note: CC2S bits สามารถเขียนได้เฉพาะเมื่อ the channel ถูก OFF (CC2E = 0 ใน TIMx_CCER).

Bit 7 OC1CE: Output compare 1 clear enable
     0: OC1Ref ไม่ถูกได้รับผลกระทบโดยthe ETRF input
     1: OC1Ref ถูกเคลียร์ทันทีที่ a High level ถูกตรวจพบบน ETRF input