TIMx status register (TIMx_SR)
Регистр статуса таймеров TIM2-TIM5
Смещение (Address offset): 0x10
Reset value: 0x0000
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
Reserved | CC4OF | CC3OF | CC2OF | CC1OF | Reserved | ||
--- | --- | --- | rc_w0 | rc_w0 | rc_w0 | rc_w0 | --- |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Reserved | TIF | Reserved | CC4IF | CC3IF | CC2IF | CC1IF | UIF |
--- | rc_w0 | --- | rc_w0 | rc_w0 | rc_w0 | rc_w0 | rc_w0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Флаг устанавливается аппаратно только при работе канала таймера в режиме захвата входных данных (input capture mode). Сбрасывается программно записью 0.
0 : избыточный захват не обнаружен.
1 : обнаружен факт записи счетчика в регистр TIMx_CCR4 при несброшенном флаге CC4IF. Возможна потеря несчитанных данных в регистре TIMx_CCR4.
Флаг устанавливается аппаратно при обнаружении активного фронта на триггерном входе TRGI подчинённого таймера. В стробирующем режиме (gated mode) устанавливается по обеим фронтам. Сбрасывается программно записью 0.
0 : нет событий на триггерном входе.
1 : ожидание триггерного прерывания.
При конфигурации канала на выход (за некоторым исключением в режиме выравнивания по центру (center-aligned mode)).
0 : нет совпадения счетчика TIMx_CNT с содержимым регистра TIMx_CCR4.
1 : содержимое счетчика TIMx_CNT совпало с содержимым регистра TIMx_CCR4.
Сбрасывается программно записью 0.
При конфигурации канала на вход:
0 : нет захвата входных данных.
1 : значение счетчика записано в регистр TIMx_CCR4.
Сбрасывается программно записью 0 или чтением регистра TIMx_CCR4.
0 : нет события обновления.
1 : ожидание прерывания при событии обновления. Устанавливается аппаратно в следующих случаях:
- при UDIS=0 в регистре TIMx_CR1 по окончании прямого или обратного счета (overflow/underflow)
- при UDIS=0 и URS=0 в регистре TIMx_CR1 при повторной инициализации счетчика битом UG в регистре TIMx_EGR
- при UDIS=0 и URS=0 в регистре TIMx_CR1 при повторной инициализации счетчика триггерным событием.
/******************** Bit definition for TIM_SR register ********************/
#define TIM_SR_UIF ((uint16_t)0x0001) /* Update interrupt Flag */
#define TIM_SR_CC1IF ((uint16_t)0x0002) /* Capture/Compare 1 interrupt Flag */
#define TIM_SR_CC2IF ((uint16_t)0x0004) /* Capture/Compare 2 interrupt Flag */
#define TIM_SR_CC3IF ((uint16_t)0x0008) /* Capture/Compare 3 interrupt Flag */
#define TIM_SR_CC4IF ((uint16_t)0x0010) /* Capture/Compare 4 interrupt Flag */
#define TIM_SR_COMIF ((uint16_t)0x0020) /* COM interrupt Flag */
#define TIM_SR_TIF ((uint16_t)0x0040) /* Trigger interrupt Flag */
#define TIM_SR_BIF ((uint16_t)0x0080) /* Break interrupt Flag */
#define TIM_SR_CC1OF ((uint16_t)0x0200) /* Capture/Compare 1 Overcapture Flag */
#define TIM_SR_CC2OF ((uint16_t)0x0400) /* Capture/Compare 2 Overcapture Flag */
#define TIM_SR_CC3OF ((uint16_t)0x0800) /* Capture/Compare 3 Overcapture Flag */
#define TIM_SR_CC4OF ((uint16_t)0x1000) /* Capture/Compare 4 Overcapture Flag */