This document is addressed to application developers. It provides complete information on how to use the STM32F100x4, STM32F100x6, STM32F100x8, STM32F100xB, STM32F100xC, STM32F100xD, and STM32F100xE microcontroller memory and peripherals.
These devices (STM32F100 Value Line) are a family of microcontrollers with different memory sizes, packages and peripherals, and are referred to as STM32F100xx throughout the document, unless otherwise specified.
For ordering information, mechanical and electrical device characteristics, refer to the datasheets. For information on programming, erasing and protection of the internal flash memory, refer to PM0063 “
STM32F100xx value line Flash programming
”.
| 4.3 | Low-power modes . . . . . | 55 |
| 4.3.1 | Slowing down system clocks . . . . . | 55 |
| 4.3.2 | Peripheral clock gating . . . . . | 56 |
| 4.3.3 | Sleep mode . . . . . | 56 |
| 4.3.4 | Stop mode . . . . . | 57 |
| 4.3.5 | Standby mode . . . . . | 59 |
| 4.3.6 | Auto-wakeup (AWU) from low-power mode . . . . . | 60 |
| 4.4 | Power control registers . . . . . | 60 |
| 4.4.1 | Power control register (PWR_CR) . . . . . | 60 |
| 4.4.2 | Power control/status register (PWR_CSR) . . . . . | 62 |
| 4.4.3 | PWR register map . . . . . | 63 |
| 5 | Backup registers (BKP) . . . . . | 64 |
| 5.1 | BKP introduction . . . . . | 64 |
| 5.2 | BKP main features . . . . . | 64 |
| 5.3 | BKP functional description . . . . . | 65 |
| 5.3.1 | Tamper detection . . . . . | 65 |
| 5.3.2 | RTC calibration . . . . . | 65 |
| 5.4 | BKP registers . . . . . | 66 |
| 5.4.1 | Backup data register x (BKP_DRx) (x = 1 ..20) . . . . . | 66 |
| 5.4.2 | RTC clock calibration register (BKP_RTCCR) . . . . . | 66 |
| 5.4.3 | Backup control register (BKP_CR) . . . . . | 67 |
| 5.4.4 | Backup control/status register (BKP_CSR) . . . . . | 67 |
| 5.4.5 | BKP register map . . . . . | 69 |
| 6 | Reset and clock control (RCC) . . . . . | 71 |
| 6.1 | Reset . . . . . | 71 |
| 6.1.1 | System reset . . . . . | 71 |
| 6.1.2 | Power reset . . . . . | 72 |
| 6.1.3 | Backup domain reset . . . . . | 72 |
| 6.2 | Clocks . . . . . | 72 |
| 6.2.1 | HSE clock . . . . . | 75 |
| 6.2.2 | HSI clock . . . . . | 76 |
| 6.2.3 | PLL . . . . . | 76 |
| 6.2.4 | LSE clock . . . . . | 77 |
| 6.2.5 | LSI clock . . . . . | 77 |
| 11.3.3 | DAC data format . . . . . | 192 |
| 11.3.4 | DAC conversion . . . . . | 193 |
| 11.3.5 | DAC output voltage . . . . . | 194 |
| 11.3.6 | DAC trigger selection . . . . . | 194 |
| 11.3.7 | DMA request . . . . . | 195 |
| 11.3.8 | Noise generation . . . . . | 195 |
| 11.3.9 | Triangle-wave generation . . . . . | 196 |
| 11.4 | Dual DAC channel conversion . . . . . | 197 |
| 11.4.1 | Independent trigger without wave generation . . . . . | 198 |
| 11.4.2 | Independent trigger with single LFSR generation . . . . . | 198 |
| 11.4.3 | Independent trigger with different LFSR generation . . . . . | 198 |
| 11.4.4 | Independent trigger with single triangle generation . . . . . | 199 |
| 11.4.5 | Independent trigger with different triangle generation . . . . . | 199 |
| 11.4.6 | Simultaneous software start . . . . . | 199 |
| 11.4.7 | Simultaneous trigger without wave generation . . . . . | 200 |
| 11.4.8 | Simultaneous trigger with single LFSR generation . . . . . | 200 |
| 11.4.9 | Simultaneous trigger with different LFSR generation . . . . . | 200 |
| 11.4.10 | Simultaneous trigger with single triangle generation . . . . . | 201 |
| 11.4.11 | Simultaneous trigger with different triangle generation . . . . . | 201 |
| 11.5 | DAC registers . . . . . | 202 |
| 11.5.1 | DAC control register (DAC_CR) . . . . . | 202 |
| 11.5.2 | DAC software trigger register (DAC_SWTRIGR) . . . . . | 205 |
| 11.5.3 | DAC channel1 12-bit right-aligned data holding register (DAC_DHR12R1) . . . . . | 205 |
| 11.5.4 | DAC channel1 12-bit left aligned data holding register (DAC_DHR12L1) . . . . . | 206 |
| 11.5.5 | DAC channel1 8-bit right aligned data holding register (DAC_DHR8R1) . . . . . | 206 |
| 11.5.6 | DAC channel2 12-bit right aligned data holding register (DAC_DHR12R2) . . . . . | 207 |
| 11.5.7 | DAC channel2 12-bit left aligned data holding register (DAC_DHR12L2) . . . . . | 207 |
| 11.5.8 | DAC channel2 8-bit right-aligned data holding register (DAC_DHR8R2) . . . . . | 207 |
| 11.5.9 | Dual DAC 12-bit right-aligned data holding register (DAC_DHR12RD) . . . . . | 208 |
| 11.5.10 | DUAL DAC 12-bit left aligned data holding register (DAC_DHR12LD) . . . . . | 208 |
| 13.3.16 | Debug mode | 320 |
| 13.4 | TIMx2 to TIM5 registers | 321 |
| 13.4.1 | TIMx control register 1 (TIMx_CR1) | 321 |
| 13.4.2 | TIMx control register 2 (TIMx_CR2) | 323 |
| 13.4.3 | TIMx slave mode control register (TIMx_SMCR) | 324 |
| 13.4.4 | TIMx DMA/Interrupt enable register (TIMx_DIER) | 326 |
| 13.4.5 | TIMx status register (TIMx_SR) | 327 |
| 13.4.6 | TIMx event generation register (TIMx_EGR) | 329 |
| 13.4.7 | TIMx capture/compare mode register 1 (TIMx_CCMR1) | 330 |
| 13.4.8 | TIMx capture/compare mode register 2 (TIMx_CCMR2) | 333 |
| 13.4.9 | TIMx capture/compare enable register (TIMx_CCER) | 334 |
| 13.4.10 | TIMx counter (TIMx_CNT) | 335 |
| 13.4.11 | TIMx prescaler (TIMx_PSC) | 335 |
| 13.4.12 | TIMx auto-reload register (TIMx_ARR) | 336 |
| 13.4.13 | TIMx capture/compare register 1 (TIMx_CCR1) | 336 |
| 13.4.14 | TIMx capture/compare register 2 (TIMx_CCR2) | 337 |
| 13.4.15 | TIMx capture/compare register 3 (TIMx_CCR3) | 337 |
| 13.4.16 | TIMx capture/compare register 4 (TIMx_CCR4) | 337 |
| 13.4.17 | TIMx DMA control register (TIMx_DCR) | 338 |
| 13.4.18 | TIMx DMA address for full transfer (TIMx_DMAR) | 338 |
| 13.4.19 | TIMx register map | 340 |
| 14 | General-purpose timers (TIM12/13/14) | 342 |
| 14.1 | TIM12/13/14 introduction | 342 |
| 14.2 | TIM12/13/14 main features | 342 |
| 14.2.1 | TIM12 main features | 342 |
| 14.2.2 | TIM13/TIM14 main features | 343 |
| 14.3 | TIM12/13/14 functional description | 345 |
| 14.3.1 | Time-base unit | 345 |
| 14.3.2 | Counter modes | 347 |
| 14.3.3 | Clock selection | 350 |
| 14.3.4 | Capture/compare channels | 352 |
| 14.3.5 | Input capture mode | 353 |
| 14.3.6 | PWM input mode (only for TIM12) | 355 |
| 14.3.7 | Forced output mode | 356 |
| 14.3.8 | Output compare mode | 356 |
| 14.3.9 | PWM mode | 357 |
| 14.3.10 | One-pulse mode . . . . . | 358 |
| 14.3.11 | TIM12 external trigger synchronization . . . . . | 360 |
| 14.3.12 | Timer synchronization (TIM12) . . . . . | 363 |
| 14.3.13 | Debug mode . . . . . | 363 |
| 14.4 | TIM12 registers . . . . . | 364 |
| 14.4.1 | TIM12 control register 1 (TIMx_CR1) . . . . . | 364 |
| 14.4.2 | TIM12 control register 2 (TIMx_CR2) . . . . . | 365 |
| 14.4.3 | TIM12 slave mode control register (TIMx_SMCR) . . . . . | 366 |
| 14.4.4 | TIM12 Interrupt enable register (TIMx_DIER) . . . . . | 367 |
| 14.4.5 | TIM12 status register (TIMx_SR) . . . . . | 369 |
| 14.4.6 | TIM event generation register (TIMx_EGR) . . . . . | 370 |
| 14.4.7 | TIM capture/compare mode register 1 (TIMx_CCMR1) . . . . . | 371 |
| 14.4.8 | TIM12 capture/compare enable register (TIMx_CCER) . . . . . | 374 |
| 14.4.9 | TIM12 counter (TIMx_CNT) . . . . . | 375 |
| 14.4.10 | TIM12 prescaler (TIMx_PSC) . . . . . | 375 |
| 14.4.11 | TIM12 auto-reload register (TIMx_ARR) . . . . . | 375 |
| 14.4.12 | TIM12 capture/compare register 1 (TIMx_CCR1) . . . . . | 376 |
| 14.4.13 | TIM12 capture/compare register 2 (TIMx_CCR2) . . . . . | 376 |
| 14.4.14 | TIM12 register map . . . . . | 377 |
| 14.5 | TIM13/14 registers . . . . . | 379 |
| 14.5.1 | TIM13/14 control register 1 (TIMx_CR1) . . . . . | 379 |
| 14.5.2 | TIM10/11/13/14 Interrupt enable register (TIMx_DIER) . . . . . | 380 |
| 14.5.3 | TIM13/14 status register (TIMx_SR) . . . . . | 380 |
| 14.5.4 | TIM13/14 event generation register (TIMx_EGR) . . . . . | 381 |
| 14.5.5 | TIM13/14 capture/compare mode register 1 (TIMx_CCMR1) . . . . . | 381 |
| 14.5.6 | TIM13/14 capture/compare enable register (TIMx_CCER) . . . . . | 384 |
| 14.5.7 | TIM13/14 counter (TIMx_CNT) . . . . . | 385 |
| 14.5.8 | TIM13/14 prescaler (TIMx_PSC) . . . . . | 385 |
| 14.5.9 | TIM13/14 auto-reload register (TIMx_ARR) . . . . . | 385 |
| 14.5.10 | TIM13/14 capture/compare register 1 (TIMx_CCR1) . . . . . | 386 |
| 14.5.11 | TIM13/14 register map . . . . . | 387 |
| 15 | General-purpose timers (TIM15/16/17) . . . . . | 388 |
| 15.1 | TIM15/16/17 introduction . . . . . | 388 |
| 15.2 | TIM15 main features . . . . . | 389 |
| 15.3 | TIM16 and TIM17 main features . . . . . | 390 |
| 15.4 | TIM15/16/17 functional description . . . . . | 393 |
| 15.4.1 | Time-base unit . . . . . | 393 |
| 15.4.2 | Counter modes . . . . . | 394 |
| 15.4.3 | Repetition counter . . . . . | 397 |
| 15.4.4 | Clock selection . . . . . | 398 |
| 15.4.5 | Capture/compare channels . . . . . | 400 |
| 15.4.6 | Input capture mode . . . . . | 402 |
| 15.4.7 | PWM input mode (only for TIM15) . . . . . | 403 |
| 15.4.8 | Forced output mode . . . . . | 404 |
| 15.4.9 | Output compare mode . . . . . | 404 |
| 15.4.10 | PWM mode . . . . . | 405 |
| 15.4.11 | Complementary outputs and dead-time insertion . . . . . | 407 |
| 15.4.12 | Using the break function . . . . . | 408 |
| 15.4.13 | One-pulse mode . . . . . | 411 |
| 15.4.14 | TIM15 and external trigger synchronization (only for TIM15) . . . . . | 413 |
| 15.4.15 | Timer synchronization . . . . . | 415 |
| 15.4.16 | Debug mode . . . . . | 415 |
| 15.5 | TIM15 registers . . . . . | 415 |
| 15.5.1 | TIM15 control register 1 (TIM15_CR1) . . . . . | 416 |
| 15.5.2 | TIM15 control register 2 (TIM15_CR2) . . . . . | 417 |
| 15.5.3 | TIM15 slave mode control register (TIM15_SMCR) . . . . . | 418 |
| 15.5.4 | TIM15 DMA/interrupt enable register (TIM15_DIER) . . . . . | 420 |
| 15.5.5 | TIM15 status register (TIM15_SR) . . . . . | 421 |
| 15.5.6 | TIM15 event generation register (TIM15_EGR) . . . . . | 422 |
| 15.5.7 | TIM15 capture/compare mode register 1 (TIM15_CCMR1) . . . . . | 423 |
| 15.5.8 | TIM15 capture/compare enable register (TIM15_CCER) . . . . . | 426 |
| 15.5.9 | TIM15 counter (TIM15_CNT) . . . . . | 429 |
| 15.5.10 | TIM15 prescaler (TIM15_PSC) . . . . . | 429 |
| 15.5.11 | TIM15 auto-reload register (TIM15_ARR) . . . . . | 429 |
| 15.5.12 | TIM15 repetition counter register (TIM15_RCR) . . . . . | 430 |
| 15.5.13 | TIM15 capture/compare register 1 (TIM15_CCR1) . . . . . | 430 |
| 15.5.14 | TIM15 capture/compare register 2 (TIM15_CCR2) . . . . . | 431 |
| 15.5.15 | TIM15 break and dead-time register (TIM15_BDTR) . . . . . | 431 |
| 15.5.16 | TIM15 DMA control register (TIM15_DCR) . . . . . | 433 |
| 15.5.17 | TIM15 DMA address for full transfer (TIM15_DMAR) . . . . . | 434 |
| 15.5.18 | TIM15 register map . . . . . | 434 |
| 15.6 | TIM16&TIM17 registers . . . . . | 437 |
| 24.2 | HDMI-CEC main features . . . . . | 648 |
| 24.3 | HDMI-CEC bus topology . . . . . | 648 |
| 24.3.1 | HDMI-CEC pin . . . . . | 648 |
| 24.3.2 | Message description . . . . . | 649 |
| 24.3.3 | Bit timing . . . . . | 650 |
| 24.4 | Arbitration . . . . . | 651 |
| 24.4.1 | Signal free time (SFT) . . . . . | 651 |
| 24.4.2 | Header arbitration . . . . . | 651 |
| 24.5 | Error handling . . . . . | 652 |
| 24.5.1 | BTE, BPE and Error bit generation . . . . . | 652 |
| 24.5.2 | Message error . . . . . | 652 |
| 24.6 | Device addressing . . . . . | 652 |
| 24.7 | HDMI-CEC functional description . . . . . | 653 |
| 24.7.1 | Block diagram . . . . . | 653 |
| 24.7.2 | Prescaler . . . . . | 653 |
| 24.7.3 | Rx digital filter . . . . . | 654 |
| 24.7.4 | Rx bit timing . . . . . | 654 |
| 24.7.5 | Tx bit timing . . . . . | 655 |
| 24.7.6 | CEC arbiter . . . . . | 656 |
| 24.7.7 | CEC states . . . . . | 657 |
| 24.7.8 | CEC and system Stop mode . . . . . | 661 |
| 24.8 | HDMI-CEC interrupts . . . . . | 662 |
| 24.9 | HDMI-CEC registers . . . . . | 663 |
| 24.9.1 | CEC configuration register (CEC_CFGR) . . . . . | 663 |
| 24.9.2 | CEC own address register (CEC_OAR) . . . . . | 664 |
| 24.9.3 | CEC prescaler register (CEC_PRES) . . . . . | 664 |
| 24.9.4 | CEC error status register (CEC_ESR) . . . . . | 665 |
| 24.9.5 | CEC control and status register (CEC_CSR) . . . . . | 666 |
| 24.9.6 | CEC Tx data register (CEC_TXD) . . . . . | 667 |
| 24.9.7 | CEC Rx data register (CEC_RXD) . . . . . | 667 |
| 24.9.8 | HDMI-CEC register map . . . . . | 668 |
| 25 | Debug support (DBG) . . . . . | 669 |
| 25.1 | Overview . . . . . | 669 |
| 25.2 | Reference Arm® documentation . . . . . | 671 |
| 25.3 | SWJ debug port (serial wire and JTAG) . . . . . | 671 |
| 25.3.1 | Mechanism to select the JTAG-DP or the SW-DP . . . . . | 672 |
| 25.4 | Pinout and debug port pins . . . . . | 672 |
| 25.4.1 | SWJ debug port pins . . . . . | 672 |
| 25.4.2 | Flexible SWJ-DP pin assignment . . . . . | 672 |
| 25.4.3 | Internal pull-up and pull-down on JTAG pins . . . . . | 673 |
| 25.4.4 | Using serial wire and releasing the unused debug pins as GPIOs . . . . . | 675 |
| 25.5 | STM32F100xx JTAG TAP connection . . . . . | 675 |
| 25.6 | ID codes and locking mechanism . . . . . | 677 |
| 25.6.1 | MCU device ID code . . . . . | 677 |
| 25.6.2 | Boundary scan TAP . . . . . | 678 |
| 25.6.3 | Cortex
®
-M3 TAP . . . . . | 678 |
| 25.6.4 | Cortex
®
-M3 JEDEC-106 ID code . . . . . | 678 |
| 25.7 | JTAG debug port . . . . . | 678 |
| 25.8 | SW debug port . . . . . | 680 |
| 25.8.1 | SW protocol introduction . . . . . | 680 |
| 25.8.2 | SW protocol sequence . . . . . | 680 |
| 25.8.3 | SW-DP state machine (reset, idle states, ID code) . . . . . | 681 |
| 25.8.4 | DP and AP read/write accesses . . . . . | 681 |
| 25.8.5 | SW-DP registers . . . . . | 682 |
| 25.8.6 | SW-AP registers . . . . . | 682 |
| 25.9 | AHB-AP (AHB access port) - valid for both JTAG-DP and SW-DP . . . . . | 683 |
| 25.10 | Core debug . . . . . | 684 |
| 25.11 | Capability of the debugger host to connect under system reset . . . . . | 685 |
| 25.12 | FPB (Flash patch breakpoint) . . . . . | 685 |
| 25.13 | DWT (data watchpoint trigger) . . . . . | 686 |
| 25.14 | ITM (instrumentation trace macrocell) . . . . . | 686 |
| 25.14.1 | General description . . . . . | 686 |
| 25.14.2 | Time stamp packets, synchronization and overflow packets . . . . . | 686 |
| 25.15 | MCU debug component (DBGMCU) . . . . . | 688 |
| 25.15.1 | Debug support for low-power modes . . . . . | 688 |
| 25.15.2 | Debug support for timers, watchdog and I
2
C . . . . . | 688 |
| 25.15.3 | Debug MCU configuration register . . . . . | 689 |
| 25.16 | TPIU (trace port interface unit) . . . . . | 691 |
| 25.16.1 | Introduction . . . . . | 691 |
| 25.16.2 | TRACE pin assignment . . . . . | 693 |
| Table 1. | Low and medium-density device register boundary addresses . . . . . | 37 |
| Table 2. | High-density device register boundary addresses . . . . . | 38 |
| Table 3. | Flash module organization (low-density value line devices) . . . . . | 42 |
| Table 4. | Flash module organization (medium-density value line devices) . . . . . | 43 |
| Table 5. | Flash module organization (high-density value line devices) . . . . . | 43 |
| Table 6. | Boot modes . . . . . | 45 |
| Table 7. | CRC calculation unit register map and reset values . . . . . | 49 |
| Table 8. | Low-power mode summary . . . . . | 55 |
| Table 9. | Sleep-now . . . . . | 57 |
| Table 10. | Sleep-on-exit . . . . . | 57 |
| Table 11. | Stop mode . . . . . | 58 |
| Table 12. | Standby mode . . . . . | 59 |
| Table 13. | PWR register map and reset values . . . . . | 63 |
| Table 14. | BKP register map and reset values . . . . . | 69 |
| Table 15. | RCC register map and reset values . . . . . | 101 |
| Table 16. | Port bit configuration table . . . . . | 104 |
| Table 17. | Output MODE bits . . . . . | 104 |
| Table 18. | Advanced timer TIM1 . . . . . | 109 |
| Table 19. | General-purpose timers TIM2/3/4/5 . . . . . | 109 |
| Table 20. | General-purpose timers TIM15/16/17 . . . . . | 109 |
| Table 21. | General-purpose timers TIM12/13/14 . . . . . | 110 |
| Table 22. | USARTs . . . . . | 110 |
| Table 23. | SPI . . . . . | 110 |
| Table 24. | CEC . . . . . | 111 |
| Table 25. | I2C . . . . . | 111 |
| Table 26. | FSMC . . . . . | 111 |
| Table 27. | Other IOs . . . . . | 112 |
| Table 28. | Debug interface signals . . . . . | 118 |
| Table 29. | Debug port mapping . . . . . | 118 |
| Table 30. | TIM5 alternate function remapping . . . . . | 119 |
| Table 31. | TIM12 remapping . . . . . | 119 |
| Table 32. | TIM13 remapping . . . . . | 119 |
| Table 33. | TIM14 remapping . . . . . | 119 |
| Table 34. | TIM4 alternate function remapping . . . . . | 119 |
| Table 35. | TIM3 alternate function remapping . . . . . | 119 |
| Table 36. | TIM2 alternate function remapping . . . . . | 120 |
| Table 37. | TIM1 alternate function remapping . . . . . | 120 |
| Table 38. | TIM1 DMA remapping . . . . . | 120 |
| Table 39. | TIM15 remapping . . . . . | 120 |
| Table 40. | TIM16 remapping . . . . . | 121 |
| Table 41. | TIM17 remapping . . . . . | 121 |
| Table 42. | USART3 remapping . . . . . | 121 |
| Table 43. | USART2 remapping . . . . . | 121 |
| Table 44. | USART1 remapping . . . . . | 121 |
| Table 45. | I2C1 remapping . . . . . | 122 |
| Table 46. | SPI1 remapping . . . . . | 122 |
| Table 47. | CEC remapping . . . . . | 122 |
| Table 48. | GPIO register map and reset values . . . . . | 130 |
| Table 49. | AFIO register map and reset values . . . . . | 130 |
| Table 50. | Vector table for STM32F100xx devices . . . . . | 132 |
| Table 51. | External interrupt/event controller register map and reset values. . . . . | 143 |
| Table 52. | Programmable data width and endian behavior (when bits PINC = MINC = 1) . . . . . | 149 |
| Table 53. | DMA interrupt requests. . . . . | 150 |
| Table 54. | Summary of DMA1 requests for each channel . . . . . | 152 |
| Table 55. | Summary of DMA2 requests for each channel . . . . . | 153 |
| Table 56. | DMA register map and reset values . . . . . | 159 |
| Table 57. | ADC pins. . . . . | 164 |
| Table 58. | Analog watchdog channel selection . . . . . | 166 |
| Table 59. | External trigger for regular channels for ADC1. . . . . | 171 |
| Table 60. | External trigger for injected channels for ADC1 . . . . . | 171 |
| Table 61. | ADC interrupts . . . . . | 174 |
| Table 62. | ADC register map and reset values . . . . . | 188 |
| Table 63. | DAC pins. . . . . | 191 |
| Table 64. | External triggers . . . . . | 194 |
| Table 65. | DAC register map . . . . . | 210 |
| Table 66. | Counting direction versus encoder signals. . . . . | 249 |
| Table 67. | TIMx Internal trigger connection . . . . . | 263 |
| Table 68. | Output control bits for complementary OCx and OCxN channels with break feature. . . . . | 274 |
| Table 69. | TIM1 register map and reset values . . . . . | 282 |
| Table 70. | Counting direction versus encoder signals. . . . . | 311 |
| Table 71. | TIMx internal trigger connection . . . . . | 326 |
| Table 72. | Output control bit for standard OCx channels. . . . . | 335 |
| Table 73. | TIMx register map and reset values . . . . . | 340 |
| Table 74. | TIMx Internal trigger connection . . . . . | 367 |
| Table 75. | Output control bit for standard OCx channels. . . . . | 375 |
| Table 76. | TIM12 register map and reset values . . . . . | 377 |
| Table 77. | Output control bit for standard OCx channels. . . . . | 384 |
| Table 78. | TIM13/14 register map and reset values . . . . . | 387 |
| Table 79. | TIMx Internal trigger connection . . . . . | 419 |
| Table 80. | Output control bits for complementary OCx and OCxN channels with break feature. . . . . | 428 |
| Table 81. | TIM15 register map and reset values . . . . . | 435 |
| Table 82. | Output control bits for complementary OCx and OCxN channels with break feature. . . . . | 447 |
| Table 83. | TIM16&TIM17 register map and reset values. . . . . | 454 |
| Table 84. | TIM6 and TIM7 register map and reset values. . . . . | 468 |
| Table 85. | RTC register map and reset values . . . . . | 480 |
| Table 86. | Min/max IWDG timeout period (in ms) at 40 kHz (LSI). . . . . | 482 |
| Table 87. | IWDG register map and reset values . . . . . | 486 |
| Table 88. | Minimum and maximum timeout values @24 MHz (f
PCLK1
). . . . . | 490 |
| Table 89. | WWDG register map and reset values . . . . . | 493 |
| Table 90. | NOR/PSRAM bank selection . . . . . | 497 |
| Table 91. | External memory address. . . . . | 497 |
| Table 92. | Programmable NOR/PSRAM access parameters . . . . . | 498 |
| Table 93. | Nonmultiplexed I/O NOR flash . . . . . | 499 |
| Table 94. | Multiplexed I/O NOR flash . . . . . | 499 |
| Table 95. | Nonmultiplexed I/Os PSRAM/SRAM . . . . . | 500 |
| Table 96. | Multiplexed I/O PSRAM . . . . . | 500 |
| Table 97. | NOR flash/PSRAM controller: example of supported memories and transactions. . . . . | 501 |
| Table 98. | FSMC_BCRx bit fields . . . . . | 504 |
| Table 99. | FSMC_BTRx bit fields . . . . . | 504 |
| Table 100. | FSMC_BCRx bit fields . . . . . | 506 |
| Table 101. | FSMC_BTRx bit fields . . . . . | 506 |
| Table 102. | FSMC_BWTRx bit fields . . . . . | 507 |
| Table 103. | FSMC_BCRx bit fields . . . . . | 509 |
| Table 104. | FSMC_BTRx bit fields . . . . . | 509 |
| Table 105. | FSMC_BWTRx bit fields . . . . . | 510 |
| Table 106. | FSMC_BCRx bit fields . . . . . | 511 |
| Table 107. | FSMC_BTRx bit fields . . . . . | 512 |
| Table 108. | FSMC_BWTRx bit fields . . . . . | 512 |
| Table 109. | FSMC_BCRx bit fields . . . . . | 514 |
| Table 110. | FSMC_BTRx bit fields . . . . . | 514 |
| Table 111. | FSMC_BWTRx bit fields . . . . . | 515 |
| Table 112. | FSMC_BCRx bit fields . . . . . | 516 |
| Table 113. | FSMC_BTRx bit fields . . . . . | 517 |
| Table 114. | FSMC_BCRx bit fields . . . . . | 522 |
| Table 115. | FSMC_BTRx bit fields . . . . . | 523 |
| Table 116. | FSMC_BCRx bit fields . . . . . | 524 |
| Table 117. | FSMC_BTRx bit fields . . . . . | 525 |
| Table 118. | FSMC register map . . . . . | 534 |
| Table 119. | SPI interrupt requests . . . . . | 558 |
| Table 120. | SPI register map and reset values . . . . . | 565 |
| Table 121. | SMBus vs. I2C . . . . . | 580 |
| Table 122. | I2C Interrupt requests . . . . . | 584 |
| Table 123. | I2C register map and reset values . . . . . | 598 |
| Table 124. | Noise detection from sampled data . . . . . | 611 |
| Table 125. | Error calculation for programmed baud rates at
\(
f_{PCLK} = 8
\)
MHz or
\(
f_{PCLK} = 12
\)
MHz, oversampling by 16. . . . . | 614 |
| Table 126. | Error calculation for programmed baud rates at
\(
f_{PCLK} = 8
\)
MHz or
\(
f_{PCLK} = 12
\)
MHz, oversampling by 8. . . . . | 615 |
| Table 127. | Error calculation for programmed baud rates at
\(
f_{PCLK} = 16
\)
MHz or
\(
f_{PCLK} = 24
\)
MHz, oversampling by 16. . . . . | 615 |
| Table 128. | Error calculation for programmed baud rates at
\(
f_{PCLK} = 16
\)
MHz or
\(
f_{PCLK} = 24
\)
MHz, oversampling by 8. . . . . | 616 |
| Table 129. | USART receiver's tolerance when DIV fraction is 0 . . . . . | 617 |
| Table 130. | USART receiver tolerance when DIV_Fraction is different from 0 . . . . . | 617 |
| Table 131. | Frame formats . . . . . | 619 |
| Table 132. | USART interrupt requests. . . . . | 635 |
| Table 133. | USART mode configuration . . . . . | 636 |
| Table 134. | USART register map and reset values . . . . . | 646 |
| Table 135. | HDMI pin. . . . . | 649 |
| Table 136. | Signal free time definition . . . . . | 651 |
| Table 137. | Bit status depending on the low bit duration (LBD). . . . . | 655 |
| Table 138. | Bit status depending on the total bit duration (TBD). . . . . | 655 |
| Table 139. | STM32 CEC arbitration. . . . . | 656 |
| Table 140. | Software sequence to respect when receiving a message. . . . . | 658 |
| Table 141. | Software sequence to respect when transmitting a message . . . . . | 659 |
| Table 142. | Software sequence to respect when transmitting a message . . . . . | 661 |
| Table 143. | HDMI-CEC interrupts . . . . . | 662 |
| Table 144. | HDMI-CEC register map and reset values . . . . . | 668 |
| Table 145. | SWJ debug port pins . . . . . | 672 |
| Table 146. | Flexible SWJ-DP pin assignment . . . . . | 673 |
| Table 147. | JTAG debug port data registers . . . . . | 678 |
| Table 148. | 32-bit debug port registers addressed through the shifted value A[3:2] . . . . . | 679 |
| Table 149. | Packet request (8-bits) . . . . . | 680 |
| Table 150. | ACK response (3 bits). . . . . | 681 |
| Table 151. | DATA transfer (33 bits). . . . . | 681 |
| Table 152. | SW-DP registers . . . . . | 682 |
| Table 153. | Cortex
®
-M3 AHB-AP registers . . . . . | 683 |
| Table 154. | Core debug registers . . . . . | 684 |
| Table 155. | Main ITM registers . . . . . | 687 |
| Table 156. | Asynchronous TRACE pin assignment. . . . . | 693 |
| Table 157. | Synchronous TRACE pin assignment . . . . . | 693 |
| Table 158. | Flexible TRACE pin assignment. . . . . | 694 |
| Table 159. | Important TPIU registers. . . . . | 696 |
| Table 160. | Value DBG register map and reset values . . . . . | 698 |
| Table 161. | Document revision history . . . . . | 703 |
| Figure 1. | Low and medium density value line system architecture . . . . . | 34 |
| Figure 2. | High density value line system architecture . . . . . | 35 |
| Figure 3. | CRC calculation unit block diagram . . . . . | 47 |
| Figure 4. | Power supply overview . . . . . | 50 |
| Figure 5. | Power on reset/power down reset waveform . . . . . | 53 |
| Figure 6. | PVD thresholds . . . . . | 54 |
| Figure 7. | Simplified diagram of the reset circuit . . . . . | 72 |
| Figure 8. | STM32F100xx clock tree (low and medium-density devices). . . . . | 73 |
| Figure 9. | STM32F100xx clock tree (high-density devices) . . . . . | 74 |
| Figure 10. | HSE/ LSE clock sources . . . . . | 75 |
| Figure 11. | Basic structure of a standard I/O port bit . . . . . | 103 |
| Figure 12. | Basic structure of a 5-Volt tolerant I/O port bit . . . . . | 103 |
| Figure 13. | Input floating/pull up/pull down configurations . . . . . | 106 |
| Figure 14. | Output configuration . . . . . | 107 |
| Figure 15. | Alternate function configuration . . . . . | 108 |
| Figure 16. | High impedance-analog configuration . . . . . | 109 |
| Figure 17. | ADC / DAC . . . . . | 111 |
| Figure 18. | External interrupt/event controller block diagram . . . . . | 136 |
| Figure 19. | External interrupt/event GPIO mapping . . . . . | 139 |
| Figure 20. | DMA block diagram in low and medium- density Cat.1 and Cat.2 STM32F100xx devices . . . . . | 145 |
| Figure 21. | DMA block diagram in high-density Cat.4 and Cat.5 STM32F100xx devices . . . . . | 146 |
| Figure 22. | DMA1 request mapping . . . . . | 151 |
| Figure 23. | DMA2 request mapping . . . . . | 153 |
| Figure 24. | Single ADC block diagram . . . . . | 163 |
| Figure 25. | Timing diagram . . . . . | 166 |
| Figure 26. | Analog watchdog guarded area . . . . . | 166 |
| Figure 27. | Injected conversion latency . . . . . | 168 |
| Figure 28. | Calibration timing diagram . . . . . | 170 |
| Figure 29. | Right alignment of data . . . . . | 170 |
| Figure 30. | Left alignment of data . . . . . | 170 |
| Figure 31. | Temperature sensor and VREFINT channel block diagram . . . . . | 173 |
| Figure 32. | DAC channel block diagram . . . . . | 191 |
| Figure 33. | Data registers in single DAC channel mode . . . . . | 193 |
| Figure 34. | Data registers in dual DAC channel mode . . . . . | 193 |
| Figure 35. | Timing diagram for conversion with trigger disabled TEN = 0 . . . . . | 194 |
| Figure 36. | DAC LFSR register calculation algorithm . . . . . | 196 |
| Figure 37. | DAC conversion (SW trigger enabled) with LFSR wave generation. . . . . | 196 |
| Figure 38. | DAC triangle wave generation . . . . . | 197 |
| Figure 39. | DAC conversion (SW trigger enabled) with triangle wave generation . . . . . | 197 |
| Figure 40. | Advanced-control timer block diagram . . . . . | 214 |
| Figure 41. | Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 216 |
| Figure 42. | Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 216 |
| Figure 43. | Counter timing diagram, internal clock divided by 1 . . . . . | 217 |
| Figure 44. | Counter timing diagram, internal clock divided by 2 . . . . . | 218 |
| Figure 45. | Counter timing diagram, internal clock divided by 4 . . . . . | 218 |
| Figure 46. | Counter timing diagram, internal clock divided by N . . . . . | 218 |
| Figure 47. | Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded) . . . . . | 219 |
| Figure 48. | Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded) . . . . . | 219 |
| Figure 49. | Counter timing diagram, internal clock divided by 1 . . . . . | 221 |
| Figure 50. | Counter timing diagram, internal clock divided by 2 . . . . . | 221 |
| Figure 51. | Counter timing diagram, internal clock divided by 4 . . . . . | 222 |
| Figure 52. | Counter timing diagram, internal clock divided by N . . . . . | 222 |
| Figure 53. | Counter timing diagram, update event when repetition counter is not used . . . . . | 223 |
| Figure 54. | Counter timing diagram, internal clock divided by 1, TIMx_ARR = 0x6 . . . . . | 224 |
| Figure 55. | Counter timing diagram, internal clock divided by 2 . . . . . | 224 |
| Figure 56. | Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36 . . . . . | 225 |
| Figure 57. | Counter timing diagram, internal clock divided by N . . . . . | 225 |
| Figure 58. | Counter timing diagram, update event with ARPE=1 (counter underflow) . . . . . | 226 |
| Figure 59. | Counter timing diagram, Update event with ARPE=1 (counter overflow) . . . . . | 226 |
| Figure 60. | Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 227 |
| Figure 61. | Control circuit in normal mode, internal clock divided by 1 . . . . . | 228 |
| Figure 62. | TI2 external clock connection example . . . . . | 229 |
| Figure 63. | Control circuit in external clock mode 1 . . . . . | 230 |
| Figure 64. | External trigger input block . . . . . | 230 |
| Figure 65. | Control circuit in external clock mode 2 . . . . . | 231 |
| Figure 66. | Capture/compare channel (example: channel 1 input stage) . . . . . | 232 |
| Figure 67. | Capture/compare channel 1 main circuit . . . . . | 232 |
| Figure 68. | Output stage of capture/compare channel (channel 1 to 3) . . . . . | 233 |
| Figure 69. | Output stage of capture/compare channel (channel 4) . . . . . | 233 |
| Figure 70. | PWM input mode timing . . . . . | 235 |
| Figure 71. | Output compare mode, toggle on OC1 . . . . . | 237 |
| Figure 72. | Edge-aligned PWM waveforms (ARR=8) . . . . . | 238 |
| Figure 73. | Center-aligned PWM waveforms (ARR=8) . . . . . | 239 |
| Figure 74. | Complementary output with dead-time insertion . . . . . | 241 |
| Figure 75. | Dead-time waveforms with delay greater than the negative pulse . . . . . | 241 |
| Figure 76. | Dead-time waveforms with delay greater than the positive pulse . . . . . | 241 |
| Figure 77. | Output behavior in response to a break . . . . . | 244 |
| Figure 78. | Clearing TIMx_OCxREF . . . . . | 245 |
| Figure 79. | 6-step generation, COM example (OSSR=1) . . . . . | 246 |
| Figure 80. | Example of one pulse mode . . . . . | 247 |
| Figure 81. | Example of counter operation in encoder interface mode . . . . . | 250 |
| Figure 82. | Example of encoder interface mode with TI1FP1 polarity inverted . . . . . | 250 |
| Figure 83. | Example of Hall sensor interface . . . . . | 252 |
| Figure 84. | Control circuit in reset mode . . . . . | 253 |
| Figure 85. | Control circuit in gated mode . . . . . | 254 |
| Figure 86. | Control circuit in trigger mode . . . . . | 255 |
| Figure 87. | Control circuit in external clock mode 2 + trigger mode . . . . . | 256 |
| Figure 88. | General-purpose timer block diagram . . . . . | 286 |
| Figure 89. | Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 287 |
| Figure 90. | Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 288 |
| Figure 91. | Counter timing diagram, internal clock divided by 1 . . . . . | 289 |
| Figure 92. | Counter timing diagram, internal clock divided by 2 . . . . . | 289 |
| Figure 93. | Counter timing diagram, internal clock divided by 4 . . . . . | 289 |
| Figure 94. | Counter timing diagram, internal clock divided by N . . . . . | 290 |
| Figure 95. | Counter timing diagram, Update event when ARPE=0 (TIMx_ARR not preloaded) . . . . . | 290 |
| Figure 96. | Counter timing diagram, Update event when ARPE=1 (TIMx_ARR preloaded) . . . . . | 291 |
| Figure 97. | Counter timing diagram, internal clock divided by 1 . . . . . | 292 |
| Figure 98. | Counter timing diagram, internal clock divided by 2 . . . . . | 292 |
| Figure 99. | Counter timing diagram, internal clock divided by 4 . . . . . | 292 |
| Figure 100. | Counter timing diagram, internal clock divided by N . . . . . | 293 |
| Figure 101. | Counter timing diagram, Update event . . . . . | 293 |
| Figure 102. | Counter timing diagram, internal clock divided by 1, TIMx_ARR=0x6 . . . . . | 294 |
| Figure 103. | Counter timing diagram, internal clock divided by 2 . . . . . | 295 |
| Figure 104. | Counter timing diagram, internal clock divided by 4, TIMx_ARR=0x36 . . . . . | 295 |
| Figure 105. | Counter timing diagram, internal clock divided by N . . . . . | 295 |
| Figure 106. | Counter timing diagram, Update event with ARPE=1 (counter underflow) . . . . . | 296 |
| Figure 107. | Counter timing diagram, Update event with ARPE=1 (counter overflow) . . . . . | 296 |
| Figure 108. | Control circuit in normal mode, internal clock divided by 1 . . . . . | 297 |
| Figure 109. | TI2 external clock connection example . . . . . | 298 |
| Figure 110. | Control circuit in external clock mode 1 . . . . . | 299 |
| Figure 111. | External trigger input block . . . . . | 299 |
| Figure 112. | Control circuit in external clock mode 2 . . . . . | 300 |
| Figure 113. | Capture/compare channel (example: channel 1 input stage) . . . . . | 300 |
| Figure 114. | Capture/compare channel 1 main circuit . . . . . | 301 |
| Figure 115. | Output stage of capture/compare channel (channel 1) . . . . . | 301 |
| Figure 116. | PWM input mode timing . . . . . | 303 |
| Figure 117. | Output compare mode, toggle on OC1 . . . . . | 305 |
| Figure 118. | Edge-aligned PWM waveforms (ARR=8) . . . . . | 306 |
| Figure 119. | Center-aligned PWM waveforms (ARR=8) . . . . . | 307 |
| Figure 120. | Example of one-pulse mode . . . . . | 308 |
| Figure 121. | Clearing TIMx_OCxREF . . . . . | 310 |
| Figure 122. | Example of counter operation in encoder interface mode . . . . . | 312 |
| Figure 123. | Example of encoder interface mode with TI1FP1 polarity inverted . . . . . | 312 |
| Figure 124. | Control circuit in reset mode . . . . . | 313 |
| Figure 125. | Control circuit in gated mode . . . . . | 314 |
| Figure 126. | Control circuit in trigger mode . . . . . | 315 |
| Figure 127. | Control circuit in external clock mode 2 + trigger mode . . . . . | 316 |
| Figure 128. | Master/Slave timer example . . . . . | 316 |
| Figure 129. | Gating TIM2 with OC1REF of TIM3 . . . . . | 317 |
| Figure 130. | Gating TIM2 with Enable of TIM3 . . . . . | 318 |
| Figure 131. | Triggering TIM2 with update of TIM3 . . . . . | 319 |
| Figure 132. | Triggering TIM2 with Enable of TIM3 . . . . . | 319 |
| Figure 133. | Triggering TIM3 and TIM2 with TIM3 TI1 input . . . . . | 320 |
| Figure 134. | General-purpose timer block diagram (TIM12) . . . . . | 343 |
| Figure 135. | General-purpose timer block diagram (TIM13/14) . . . . . | 344 |
| Figure 136. | Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 346 |
| Figure 137. | Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 346 |
| Figure 138. | Counter timing diagram, internal clock divided by 1 . . . . . | 347 |
| Figure 139. | Counter timing diagram, internal clock divided by 2 . . . . . | 348 |
| Figure 140. | Counter timing diagram, internal clock divided by 4 . . . . . | 348 |
| Figure 141. | Counter timing diagram, internal clock divided by N . . . . . | 348 |
| Figure 142. | Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded) . . . . . | 349 |
| Figure 143. | Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded) . . . . . | 349 |
| Figure 144. | Control circuit in normal mode, internal clock divided by 1 . . . . . | 350 |
| Figure 145. | TI2 external clock connection example . . . . . | 351 |
| Figure 146. | Control circuit in external clock mode 1 . . . . . | 351 |
| Figure 147. | Capture/compare channel (example: channel 1 input stage) . . . . . | 352 |
| Figure 148. | Capture/compare channel 1 main circuit . . . . . | 353 |
| Figure 149. | Output stage of capture/compare channel (channel 1) . . . . . | 353 |
| Figure 150. | PWM input mode timing . . . . . | 355 |
| Figure 151. Output compare mode, toggle on OC1. . . . . | 357 |
| Figure 152. Edge-aligned PWM waveforms (ARR=8) . . . . . | 358 |
| Figure 153. Example of one pulse mode. . . . . | 359 |
| Figure 154. Control circuit in reset mode . . . . . | 361 |
| Figure 155. Control circuit in gated mode . . . . . | 362 |
| Figure 156. Control circuit in trigger mode . . . . . | 362 |
| Figure 157. TIM15 block diagram . . . . . | 391 |
| Figure 158. TIM16 and TIM17 block diagram . . . . . | 392 |
| Figure 159. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 394 |
| Figure 160. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 394 |
| Figure 161. Counter timing diagram, internal clock divided by 1 . . . . . | 395 |
| Figure 162. Counter timing diagram, internal clock divided by 2 . . . . . | 395 |
| Figure 163. Counter timing diagram, internal clock divided by 4 . . . . . | 396 |
| Figure 164. Counter timing diagram, internal clock divided by N . . . . . | 396 |
| Figure 165. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 396 |
| Figure 166. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 397 |
| Figure 167. Update rate examples depending on mode and TIMx_RCR register settings . . . . . | 398 |
| Figure 168. Control circuit in normal mode, internal clock divided by 1 . . . . . | 399 |
| Figure 169. TI2 external clock connection example. . . . . | 399 |
| Figure 170. Control circuit in external clock mode 1 . . . . . | 400 |
| Figure 171. Capture/compare channel (example: channel 1 input stage). . . . . | 400 |
| Figure 172. Capture/compare channel 1 main circuit . . . . . | 401 |
| Figure 173. Output stage of capture/compare channel (channel 1). . . . . | 401 |
| Figure 174. Output stage of capture/compare channel (channel 2 for TIM15) . . . . . | 401 |
| Figure 175. PWM input mode timing . . . . . | 403 |
| Figure 176. Output compare mode, toggle on OC1. . . . . | 405 |
| Figure 177. Edge-aligned PWM waveforms (ARR=8) . . . . . | 406 |
| Figure 178. Complementary output with dead-time insertion. . . . . | 407 |
| Figure 179. Dead-time waveforms with delay greater than the negative pulse. . . . . | 407 |
| Figure 180. Dead-time waveforms with delay greater than the positive pulse. . . . . | 408 |
| Figure 181. Output behavior in response to a break. . . . . | 410 |
| Figure 182. Example of one pulse mode. . . . . | 411 |
| Figure 183. Control circuit in reset mode . . . . . | 413 |
| Figure 184. Control circuit in gated mode . . . . . | 414 |
| Figure 185. Control circuit in trigger mode . . . . . | 415 |
| Figure 186. Basic timer block diagram. . . . . | 457 |
| Figure 187. Counter timing diagram with prescaler division change from 1 to 2 . . . . . | 458 |
| Figure 188. Counter timing diagram with prescaler division change from 1 to 4 . . . . . | 459 |
| Figure 189. Counter timing diagram, internal clock divided by 1 . . . . . | 460 |
| Figure 190. Counter timing diagram, internal clock divided by 2 . . . . . | 460 |
| Figure 191. Counter timing diagram, internal clock divided by 4 . . . . . | 461 |
| Figure 192. Counter timing diagram, internal clock divided by N . . . . . | 461 |
| Figure 193. Counter timing diagram, update event when ARPE=0 (TIMx_ARR not preloaded). . . . . | 461 |
| Figure 194. Counter timing diagram, update event when ARPE=1 (TIMx_ARR preloaded). . . . . | 462 |
| Figure 195. Control circuit in normal mode, internal clock divided by 1 . . . . . | 462 |
| Figure 196. RTC simplified block diagram . . . . . | 471 |
| Figure 197. RTC second and alarm waveform example with PR=0003, ALARM=00004 . . . . . | 473 |
| Figure 198. RTC overflow waveform example with PR=0003 . . . . . | 473 |
| Figure 199. Independent watchdog block diagram . . . . . | 482 |
| Figure 200. Watchdog block diagram . . . . . | 488 |
| Figure 201. Window watchdog timing diagram . . . . . | 489 |
| Figure 202. FSMC block diagram . . . . . | 495 |
| Figure 203. FSMC memory banks . . . . . | 497 |
| Figure 204. Mode1 read accesses. . . . . | 503 |
| Figure 205. Mode1 write accesses . . . . . | 503 |
| Figure 206. ModeA read accesses . . . . . | 505 |
| Figure 207. ModeA write accesses . . . . . | 505 |
| Figure 208. Mode2 and mode B read accesses . . . . . | 507 |
| Figure 209. Mode2 write accesses . . . . . | 508 |
| Figure 210. Mode B write accesses. . . . . | 508 |
| Figure 211. Mode C read accesses . . . . . | 510 |
| Figure 212. Mode C write accesses . . . . . | 511 |
| Figure 213. Mode D read accesses. . . . . | 513 |
| Figure 214. Mode D write accesses. . . . . | 513 |
| Figure 215. Multiplexed read accesses . . . . . | 515 |
| Figure 216. Multiplexed write accesses. . . . . | 516 |
| Figure 217. Asynchronous wait during a read access . . . . . | 518 |
| Figure 218. Asynchronous wait during a write access. . . . . | 519 |
| Figure 219. Wait configurations . . . . . | 521 |
| Figure 220. Synchronous multiplexed read mode - NOR, PSRAM (CRAM) . . . . . | 522 |
| Figure 221. Synchronous multiplexed write mode - PSRAM (CRAM) . . . . . | 524 |
| Figure 222. SPI block diagram. . . . . | 538 |
| Figure 223. Single master/ single slave application. . . . . | 539 |
| Figure 224. Data clock timing diagram . . . . . | 541 |
| Figure 225. TXE/RXNE/BSY behavior in Master / full-duplex mode (BIDIMODE=0 and RXONLY=0) in case of continuous transfers . . . . . | 547 |
| Figure 226. TXE/RXNE/BSY behavior in Slave / full-duplex mode (BIDIMODE=0, RXONLY=0) in case of continuous transfers . . . . . | 548 |
| Figure 227. TXE/BSY behavior in Master transmit-only mode (BIDIMODE=0 and RXONLY=0) in case of continuous transfers . . . . . | 549 |
| Figure 228. TXE/BSY in Slave transmit-only mode (BIDIMODE=0 and RXONLY=0) in case of continuous transfers . . . . . | 549 |
| Figure 229. RXNE behavior in receive-only mode (BIDIRMODE=0 and RXONLY=1) in case of continuous transfers . . . . . | 550 |
| Figure 230. TXE/BSY behavior when transmitting (BIDIRMODE=0 and RXONLY=0) in case of discontinuous transfers . . . . . | 551 |
| Figure 231. Transmission using DMA . . . . . | 556 |
| Figure 232. Reception using DMA. . . . . | 556 |
| Figure 233. I2C bus protocol . . . . . | 568 |
| Figure 234. I2C block diagram . . . . . | 569 |
| Figure 235. Transfer sequence diagram for slave transmitter . . . . . | 570 |
| Figure 236. Transfer sequence diagram for slave receiver . . . . . | 571 |
| Figure 237. Transfer sequence diagram for master transmitter . . . . . | 574 |
| Figure 238. Method 1: transfer sequence diagram for master receiver . . . . . | 575 |
| Figure 239. Method 2: transfer sequence diagram for master receiver when N>2 . . . . . | 576 |
| Figure 240. Method 2: transfer sequence diagram for master receiver when N=2 . . . . . | 577 |
| Figure 241. Method 2: transfer sequence diagram for master receiver when N=1 . . . . . | 578 |
| Figure 242. I2C interrupt mapping diagram . . . . . | 585 |
| Figure 243. USART block diagram . . . . . | 602 |
| Figure 244. Word length programming . . . . . | 603 |
| Figure 245. Configurable stop bits . . . . . | 605 |
| Figure 246. TC/TXE behavior when transmitting . . . . . | 606 |
| Figure 247. Start bit detection when oversampling by 16 or 8 . . . . . | 607 |
| Figure 248. Data sampling when oversampling by 16 . . . . . | 610 |
| Figure 249. Data sampling when oversampling by 8 . . . . . | 611 |
| Figure 250. Mute mode using Idle line detection . . . . . | 618 |
| Figure 251. Mute mode using address mark detection . . . . . | 619 |
| Figure 252. Break detection in LIN mode (11-bit break length - LBDL bit is set) . . . . . | 622 |
| Figure 253. Break detection in LIN mode vs. Framing error detection. . . . . | 623 |
| Figure 254. USART example of synchronous transmission. . . . . | 624 |
| Figure 255. USART data clock timing diagram (M=0) . . . . . | 624 |
| Figure 256. USART data clock timing diagram (M=1) . . . . . | 625 |
| Figure 257. RX data setup/hold time . . . . . | 625 |
| Figure 258. ISO 7816-3 asynchronous protocol . . . . . | 626 |
| Figure 259. Parity error detection using the 1.5 stop bits . . . . . | 627 |
| Figure 260. IrDA SIR ENDEC- block diagram . . . . . | 629 |
| Figure 261. IrDA data modulation (3/16) -Normal mode . . . . . | 629 |
| Figure 262. Transmission using DMA . . . . . | 631 |
| Figure 263. Reception using DMA . . . . . | 632 |
| Figure 264. Hardware flow control between 2 USARTs . . . . . | 632 |
| Figure 265. RTS flow control . . . . . | 633 |
| Figure 266. CTS flow control . . . . . | 634 |
| Figure 267. USART interrupt mapping diagram . . . . . | 635 |
| Figure 268. CEC line connection . . . . . | 649 |
| Figure 269. Message structure . . . . . | 650 |
| Figure 270. Blocks . . . . . | 650 |
| Figure 271. Bit timings . . . . . | 650 |
| Figure 272. Follower acknowledgment (ACK) . . . . . | 651 |
| Figure 273. Signal free time. . . . . | 651 |
| Figure 274. Arbitration phase. . . . . | 651 |
| Figure 275. Error bit timing . . . . . | 652 |
| Figure 276. HDMI-CEC block diagram . . . . . | 653 |
| Figure 277. Bit timing . . . . . | 654 |
| Figure 278. Tx bit timing . . . . . | 655 |
| Figure 279. CEC control state machine . . . . . | 657 |
| Figure 280. Example of a complete message reception . . . . . | 658 |
| Figure 281. Example of a complete message transmission . . . . . | 659 |
| Figure 282. Example of a message transmission with transmission error. . . . . | 660 |
| Figure 283. CEC and system Stop mode . . . . . | 662 |
| Figure 284. Block diagram of STM32 MCU and Cortex
®
-M3-level debug support . . . . . | 670 |
| Figure 285. SWJ debug port . . . . . | 671 |
| Figure 286. JTAG TAP connections . . . . . | 676 |
| Figure 287. TPIU block diagram . . . . . | 692 |