19. Infrared interface (IRTIM)
An infrared interface (IRTIM) for remote control is available on the device. It can be used with an infrared LED to perform remote control functions.
It uses internal connections with TIM16 and TIM17 as shown in Figure 152 .
To generate the infrared remote control signals, the IR interface must be enabled and TIM16 channel 1 (TIM16_OC1) and TIM17 channel 1 (TIM17_OC1) must be properly configured to generate correct waveforms.
The infrared receiver can be implemented easily through a basic input capture mode.
Figure 152. IRTIM internal hardware connections with TIM16 and TIM17

The diagram illustrates the internal hardware connections for the Infrared interface (IRTIM). On the left, two timer output channels are shown: TIM17_CH1, which generates a high-frequency carrier signal (represented by a dense waveform), and TIM16_CH1, which generates a modulation envelope (represented by a square-like waveform). Both signals are input into an IRTIM block, which is an AND gate with an inversion bubble at its output. The output of the IRTIM block is connected to the IR_OUT pin, which produces the final modulated infrared signal. The diagram is labeled MS30474V2 in the bottom right corner.
All standard IR pulse modulation modes can be obtained by programming the two timer output compare channels.
TIM17 is used to generate the high frequency carrier signal, while TIM16 generates the modulation envelope.
The infrared function is output on the IR_OUT pin. The activation of this function is done through the GPIOx_AFRx register by enabling the related alternate function bit.
The high sink LED driver capability (only available on the PB9 pin) can be activated through the I2C_PB9_FMP bit in the SYSCFG_CFGR1 register and used to sink the high current needed to directly control an infrared LED.