Control register 2 (TMRx_CTRL2)

Второй регистр управления таймерами TMR2/3/4/5

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

Reset value: 0x0000

15141312111098
Reserved
------------------------
00000000
76543210
TI1SEL MMSEL[2:0] CCDSEL Reserved
rwrwrwrwrw---------
00000000


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

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

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

Bit 6:4
MMSEL[2:0]
Master Mode Signal Select
Выбор сигнала, который будет отправлен на выход 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
CCDSEL
Capture/compare DMA select
Выбор события для запроса DMA

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

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

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


//-  apm32f10x.h  -  v1.0.4

typedef struct
{	...
    /*  Countrol register 2  */
    union
    {
        __IOM uint32_t CTRL2;

        struct
        {
            __IOM uint32_t CCPEN           : 1;
            __IM  uint32_t RESERVED1       : 1;
            __IOM uint32_t CCUSEL          : 1;
            __IOM uint32_t CCDSEL          : 1;
            __IOM uint32_t MMSEL           : 3;
            __IOM uint32_t TI1SEL          : 1;
            __IOM uint32_t OC1OIS          : 1;
            __IOM uint32_t OC1NOIS         : 1;
            __IOM uint32_t OC2OIS          : 1;
            __IOM uint32_t OC2NOIS         : 1;
            __IOM uint32_t OC3OIS          : 1;
            __IOM uint32_t OC3NOIS         : 1;
            __IOM uint32_t OC4OIS          : 1;
            __IM  uint32_t RESERVED2       : 17;
        } CTRL2_B;
    };
    ...
}  TMR_T;

//-  apm32f10x.h  -  v1.0.0

typedef struct
{
    /*  Countrol register 2  */
    union
    {
        __IOM uint32_t CTRL2;

        struct
        {
            __IOM  uint32_t CCBEN       : 1;
            __IM   uint32_t RESERVED1   : 1;
            __IOM  uint32_t CCUS        : 1;
            __IOM  uint32_t CCDS        : 1;
            __IOM  uint32_t MMFC        : 3;
            __IOM  uint32_t TI1IS       : 1;
            __IOM  uint32_t CH1ISO      : 1;
            __IOM  uint32_t CH1NISO     : 1;
            __IOM  uint32_t CH2ISO      : 1;
            __IOM  uint32_t CH2NISO     : 1;
            __IOM  uint32_t CH3ISO      : 1;
            __IOM  uint32_t CH3NISO     : 1;
            __IOM  uint32_t CH4ISO      : 1;
            __IM   uint32_t RESERVED2   : 17;
        } CTRL2_B;
    } ;
    ...
}  TMR_T;