久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> STM32 >> 瀏覽文章

stm32單片機(jī)GPIO端口使用

作者:佚名   來源:來自唐宗之氣   點(diǎn)擊數(shù):  更新時(shí)間:2014年09月17日   【字體:

         最近一段時(shí)間在學(xué)STM32,感覺都是在和寄存器打交道,首先先說下什么是寄存器。寄存器是中央處理器內(nèi)的組成部分。寄存器是有限存貯容量的高速存貯部件,它們可用來暫存指令、數(shù)據(jù)和地址。

 
        STM32的每個(gè)IO口有7個(gè)寄存器控制(1個(gè)IO口應(yīng)該就是一組),分別是兩個(gè)32位的端口配置寄存器,CRL和CRH。兩個(gè)32位的數(shù)據(jù)寄存器IDR和ODR(這上面四個(gè)是重點(diǎn)),一個(gè)32位置位復(fù)位寄存器,一個(gè)16位復(fù)位寄存器,一個(gè)鎖存寄存器LCKR.
 
________________________________________________________________________________________________________________
 
端口配置寄存器
 
       端口配置寄存器CRL和CRH有兩部分組成   CNFX和MODEX      
 
                通過設(shè)置這兩個(gè)來確定模式      (1)GPIO_Mode_AIN 模擬輸入 
                                                                (2)GPIO_Mode_IN_FLOATING 浮空輸入
                                                                (3)GPIO_Mode_IPD 下拉輸入 
                                                                (4)GPIO_Mode_IPU 上拉輸入 
                                                                (5)GPIO_Mode_Out_OD 開漏輸出
                                                                (6)GPIO_Mode_Out_PP 推挽輸出
                                                                (7)GPIO_Mode_AF_OD 復(fù)用開漏輸出
                                                                (8)GPIO_Mode_AF_PP 復(fù)用推挽輸出
    如果IO口是0-7的話用CRL寄存器,如果是8-15的話用CRH寄存器
 
 
 
使用說明:     MODE         模式                                                    
 
                         00           輸入模式
 
                         01           輸出模式  10MHZ
 
                         10           輸出模式  2MHZ
 
                         11           輸出模式  50MHZ
 
                  
 
                      CNF           所處模式                表達(dá)含義
 
                       00               輸入                     模擬輸入模式
 
                       01               輸入                     浮空輸入模式
 
                       10               輸入                     上拉\下拉輸入模式
 
                       11               輸入                      保留
 
 
 
                       00              輸出                      推挽輸出模式
 
                       01              輸出                      開漏輸出模式
 
                       10              輸出                      復(fù)用功能 推挽輸出模式
 
                       11             輸出                     復(fù)用功能開漏輸出模式
 
 
 
使用方法:
 
             首先是APB2總線上的外設(shè)始能寄存器,只要加外設(shè)就要將這個(gè)使能
 
                                              RCC->APB2ENR  |= 1<<幾位   根據(jù)表來說
 
              然后開始配置
 
                         
                                       GPIOB->CRH &= 0XFFFFFFF0;                 通過與將要寫數(shù)據(jù)的位進(jìn)行清空
                                       GPIOB->CRH |= 0X03;                              在要寫的為寫內(nèi)容
                                        GPIOB->ODR = 1<<8;                             在第幾位寫入數(shù)據(jù)
 
                       ODR是輸出數(shù)據(jù)寄存器
 
 
 
GPIO端口使用舉例
 
__________________________________________________________________________________________________________________
 
流水燈的.c文件
 
void LED_Init (void)
{
 
//兩個(gè)RCC是使能時(shí)鐘
 RCC->APB2ENR |= 1<<3;   
 
 RCC->APB2ENR |= 1<<6;   
 
 GPIOB->CRL &= 0XFF0FFFFF;
 GPIOB->CRL |= 0X00300000;
 GPIOB->ODR = 1 << 5;
 
 GPIOE->CRL &= 0XFF0FFFFF;
 GPIOE->CRL|=0X00300000;    //PE.5
 GPIOE->ODR|=1<<5;          //PE.5
}
 
.h文件
 
# define LED0 PBout (5)
# define LED1 PEout (5)
因?yàn)槭禽敵觯杂肞Xout (引腳號(hào))
 
——————————————————————————————————————————————
 
 
 
按鍵的初始化
 
 
void KEY_Init (void)
{
 RCC->APB2ENR |= 1<<2;
 RCC->APB2ENR |= 1<<6;
 
 GPIOA->CRL &= 0XFFFFFF0;
 GPIOA->CRL |= 0X0000008;   
// GPIOA->ODR |= 1<<1;  GPIOE->CRL &= 0XFFF000FF;
 GPIOE->CRL |= 0X00088800;
 GPIOE->ODR |= 7<<2;    //7<<2   從7的位置右移5位
 
}
 
 
 
注意.h文件
 
 
#define KEY0 PEin(4)    //PE4
#define KEY1 PEin(3) //PE3
#define KEY2 PEin(2) //PE2
#define KEY3 PAin(0) //PA0  WK_UP
因?yàn)槭禽斎耄杂玫氖荘Xin (引腳號(hào))
 
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 日韩精品国产精品 | 久久手机免费视频 | 亚洲精品成人 | a级片在线 | 国产精品美女在线观看 | 91理论片午午伦夜理片久久 | 九久久| 久久久久久亚洲 | 精品久久久久久一区二区里番 | 四虎www | 黄色片亚洲 | 天天曰天天干 | 欧美aaaaa | 久久精品视频一区二区 | 超碰在线免费播放 | 欧美国产日韩一区二区 | 欧美超碰在线 | 日韩免费一区二区三区 | 亚洲福利网站 | 久久久久久网 | 九久久 | 天天插夜夜操 | 黄www.| 精品一区二区三区在线观看 | 韩国av免费 | 香蕉福利视频 | 国产免费一区二区三区免费视频 | 日韩av专区 | 最新免费黄色网址 | 久久精品久久久久久久 | 免费91网站| 99这里只有精品 | 欧美一级久久 | 欧美成人精品一区二区三区在线看 | 天天综合影院 | 精品网站999www| 国产精品av一区二区 | 中文字幕丰满人伦在线 | 嫩草久久| 免费的黄色大片 | 国产99页 |