TIMx control register 2 (TIMx_CR2)

Второй регистр управления таймерами TIM2 - TIM5

Смещение (Address offset): 0x04

Reset value: 0x0000

15141312111098
Reserved
------------------------
00000000
76543210
TI1S MMS[2:0] CCDS Reserved
rwrwrwrwrw---------
00000000


Биты
Имя
Описание
15:8
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса
7
TI1S
TI1 selection
Выбор входа первого канала таймера TI1

 0 : ко входу канала таймера TI1 подключен вывод TIMx_CH1 контроллера

 1 : ко входу канала таймера TI1 подключена логическая XOR комбинация выводов TIMx_CH1, TIMx_CH2, TIMx_CH3

6:4
MMS[2:0]
Master mode selection
Выбор сигнала на выходе TRGO в master-режиме
Выбор сигнала, который будет отправлен на выход TRGO в ведущем режиме на подчинённые устройства (другие таймеры или DAC/ADC):

 000 : Reset - бит UG (Update generation) регистра TIMx_EGR используется как выход TRGO (повторная инициализация счетчика и обновление регистров). Если сброс генерируется триггерным входом (контроллер подчиненного режима в режиме сброса), то сигнал на TRGO подается с задержкой по сравнению с фактическим сбросом.

 001 : Enable - сигнал включения счетчика CNT_EN используется как выход TRGO. Применяется для запуска нескольких счетчиков одновременно или для управления окном разрешения счета для подчинённых таймеров. Сигнал включения счетчика генерируется с помощью логики ИЛИ между управляющим битом CEN и триггерным входом, если он настроен в стробирующем режиме (gated mode).

 010 : Update - событие обновления (UEV) используется как выход TRGO. Например: главный таймер может быть использован в качестве предварительного делителя для подчиненного таймера.

 011 : Compare Pulse - на выходе TRGO формируется положительный импульс при установке флага CC1IF (даже если он уже был установлен)

 100 : Compare - OC1REF используется как выход TRGO

 101 : Compare - OC2REF используется как выход TRGO

 110 : Compare - OC3REF используется как выход TRGO

 111 : Compare - OC4REF используется как выход TRGO

3
CCDS
Capture/compare DMA selection
Выбор события запроса DMA

 0 : Запрос DMA отправляется по событию capture/compare

 1 : Запрос DMA отправляется по событию update

2:0
Reserved
Must be kept at reset value
Зарезервировано. Должно быть сохранено значение после сброса


/*******************  Bit definition for TIM_CR2 register  ********************/

#define  TIM_CR2_CCPC     ((uint16_t)0x0001)     /* Capture/Compare Preloaded Control */
#define  TIM_CR2_CCUS     ((uint16_t)0x0004)     /* Capture/Compare Control Update Selection */
#define  TIM_CR2_CCDS     ((uint16_t)0x0008)     /* Capture/Compare DMA Selection */

#define  TIM_CR2_MMS      ((uint16_t)0x0070)     /* MMS[2:0] bits (Master Mode Selection) */
#define  TIM_CR2_MMS_0    ((uint16_t)0x0010)     /* Bit 0 */
#define  TIM_CR2_MMS_1    ((uint16_t)0x0020)     /* Bit 1 */
#define  TIM_CR2_MMS_2    ((uint16_t)0x0040)     /* Bit 2 */

#define  TIM_CR2_TI1S     ((uint16_t)0x0080)     /* TI1 Selection */
#define  TIM_CR2_OIS1     ((uint16_t)0x0100)     /* Output Idle state 1 (OC1 output) */
#define  TIM_CR2_OIS1N    ((uint16_t)0x0200)     /* Output Idle state 1 (OC1N output) */
#define  TIM_CR2_OIS2     ((uint16_t)0x0400)     /* Output Idle state 2 (OC2 output) */
#define  TIM_CR2_OIS2N    ((uint16_t)0x0800)     /* Output Idle state 2 (OC2N output) */
#define  TIM_CR2_OIS3     ((uint16_t)0x1000)     /* Output Idle state 3 (OC3 output) */
#define  TIM_CR2_OIS3N    ((uint16_t)0x2000)     /* Output Idle state 3 (OC3N output) */
#define  TIM_CR2_OIS4     ((uint16_t)0x4000)     /* Output Idle state 4 (OC4 output) */