El microcontrolador STM32 se usa cuando el reloj está habilitado, por lo que el operador puede escribir varios periféricos en una oración como se muestra en la imagen.
Siempre que los periféricos estén en el mismo bus, puedes usar "|" para habilitar los relojes de múltiples periféricos al mismo tiempo.
"|" es un operador de bits, por ejemplo: 0000 1111 | 1111 0000 = 1111 1111
Por ejemplo:
Habilite GPIOD y GPIOE en APB2 autobús.
El valor de reinicio de APB2ENR es 0x0000 0000
Si ENABLE está habilitado
RCC->APB2ENR |= RCC_APB2Periph;//"|=" >>> Configuración 1
"&=~" >>> Borrar
donde RCC_APB2Periph --- RCC_APB2Periph_GPIOD >>> ((uint32_t)0x00000020 )
-- - RCC_APB2Periph_GPIOE >>> ((uint32_t)0x00000020)
;>((uint32_t)0x00000040)
0x 0000 0000
"|"
0x 0000 0020
0020 aquí significa 0000 0000 0010 0000
Correspondiente al manual de referencia STM32F10x, busque RCC_APB2ENR, los 16 bits inferiores son válidos
El quinto bit es 1, lo que indica que el reloj del puerto D IO está activado
El 0040 aquí es 0000 0000 0100. Es decir, 0000 0000 0100 0000
Corresponde al manual de referencia STM32F10x, busque RCC_APB2ENR, los 16 bits inferiores son válidos
El sexto bit es 1, es decir, el puerto IO El reloj electrónico está activado
Entonces, para los periféricos en el mismo bus, si se habilitan varios relojes periféricos, se pueden habilitar simultáneamente usando "|".