TIMx control register 2 (TIMx_CR2)
Второй регистр управления таймерами TIM2 - TIM5
Смещение (Address offset): 0x04
Reset value: 0x0000
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Reserved | |||||||
--- | --- | --- | --- | --- | --- | --- | --- |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
TI1S | MMS[2:0] | CCDS | Reserved | ||||
rw | rw | rw | rw | rw | --- | --- | --- |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
0 : ко входу канала таймера TI1 подключен вывод TIMx_CH1 контроллера
1 : ко входу канала таймера TI1 подключена логическая XOR комбинация выводов TIMx_CH1, TIMx_CH2, TIMx_CH3
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
0 : Запрос DMA отправляется по событию capture/compare
1 : Запрос DMA отправляется по событию update
/******************* 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) */