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


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

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

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

Bit 6:4
MMS[2:0]
Master mode selection
Выбор сигнала, который будет отправлен на выход 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

Bit 3
CCDS
Capture/compare DMA selection

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

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

Bits 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) */