當前位置:編程學習大全網 - 編程軟體 - 單片機STM32中,在使能用到的時鐘是,為什麽多個外設可以通過

單片機STM32中,在使能用到的時鐘是,為什麽多個外設可以通過

STM32的外設在使用之前必須先對其使能!

只要在同壹條總線上外設,可以利用“|”對多個外設時鐘進行同時使能!

“|”是個位運算符,如0000 1111 | 1111 0000 = 1111 1111

比如:

使能APB2總線上的GPIOD和GPIOE。

APB2ENR的復位值為0x0000 0000

如果使能了ENABLE

RCC->APB2ENR |= RCC_APB2Periph; // “|=” >>>置1

“&=~” >>>清零

其中RCC_APB2Periph --- RCC_APB2Periph_GPIOD >>>> ((uint32_t)0x00000020)

--- RCC_APB2Periph_GPIOE >>>> ((uint32_t)0x00000040)

0x 0000 0000

"|"

0x 0000 0020

這裏的0020 即0000 0000 0010 0000

對應STM32F10x參考手冊,查找RCC_APB2ENR,低16位有效

第5位為1,即開啟了IO端口D時鐘

這裏的0040 即0000 0000 0100 0000

對應STM32F10x參考手冊,查找RCC_APB2ENR,低16位有效

第6位為1,即開啟了IO端口E時鐘

所以對於在同壹條總線上外設,如果使能多個外設時鐘,可以用“|”來同時使能。

  • 上一篇:運算符寫到壹句話裏,如圖
  • 下一篇:編程貓的編程課怎樣?建議給孩子報名嗎?
  • copyright 2024編程學習大全網