日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32单片机的CRL和CRH寄存器

發布時間:2023/12/14 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32单片机的CRL和CRH寄存器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這里寫目錄標題

      • 問題:
      • 基礎知識:
      • 解釋:
      • 擴展
        • PA1為輸入(上/下拉)
        • PA2為輸入(上/下拉)
        • PA1為輸出(通用推挽輸出50MHZ)
        • PA2為輸出(通用推挽輸出50MHZ)

問題:


當32單片機進行引腳分配時,需要了解該程序的功能。

基礎知識:

STM32 的每個 IO 端口都有 7 個寄存器來控制。他們分別是:

配置模式的 2 個 32 位的端口配置寄存器 CRL 和 CRH;
2 個 32 位的數據寄存器 IDR 和 ODR;
1 個 32 位的置位/復位寄存器BSRR;
一個 16 位的復位寄存器 BRR;
1 個 32 位的鎖存寄存器 LCKR;
我們常用的 IO 端口寄存器只有 4 個:CRL、CRH、IDR、ODR。CRL 和 CRH 控制著每個 IO 口的模式及輸出速率。

其中CRL配置規則

其中CRH配置規則

解釋:

1、輸入

GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=8<<0;

①前半段GPIOA->CRL&=0XFFFFFFF0;

利用“與”運算,把這個位清0,同時不影響其他的位的設置。

此時把PA0設置成模擬輸入模式。

②后半段GPIOA->CRL|=8<<0;

意思就是將8(1000)左移0位(不移位),然后再與GPIOC->CRL進行運算。

此時把PA0設置成上拉/下拉輸入模式。

2、輸出

GPIOA->CRL&=0XFFFFFFF0;GPIOA->CRL|=3<<0;

①前半段GPIOA->CRL&=0XFFFFFFF0;

利用“與”運算,把這個位清0,同時不影響其他的位的設置。

此時把PA0設置成模擬輸入模式。

②后半段GPIOA->CRL|=3<<0;

意思就是將3(0011)左移0位(不移位),然后再與GPIOC->CRL進行運算。

此時把PA0設置成通用推挽輸出模式

擴展

PA1為輸入(上/下拉)

GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=8<<4;

PA2為輸入(上/下拉)

GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=8<<8;

PA1為輸出(通用推挽輸出50MHZ)

GPIOA->CRL&=0XFFFFFF0F;GPIOA->CRL|=3<<4;

PA2為輸出(通用推挽輸出50MHZ)

GPIOA->CRL&=0XFFFFF0FF;GPIOA->CRL|=3<<8;

以此類推。

總結

以上是生活随笔為你收集整理的STM32单片机的CRL和CRH寄存器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。