簡體   English   中英

STM32f4上的用戶按鈕

[英]Userbutton on STM32f4

我按下用戶按鈕時試圖打開LED

我想我已經啟用了正確的外設時鍾和正確的寄存器。 該按鈕位於porta位0

這是我的代碼......任何幫助都會很棒。 對不起,如果有點簡單,我還在學習董事會。

int main (void)
{
RCC->AHB1ENR=0x9;           
GPIOA->MODER = 0x00000002; 
GPIOD->MODER = 0x55000000;  
GPIOD->OTYPER = 0;          
GPIOD->OSPEEDR = 0;         
GPIOD->PUPDR = 0;           
GPIOA->PUPDR = 0;
GPIOA->OTYPER = 0;
GPIOA->OSPEEDR = 0;

    while(1)
{
    if(GPIOA->IDR == 0x0001){
    GPIOD->ODR = 0xF000;                        
    }
    else{
        GPIOD->ODR = 0;         

        }   
    }   
}

我不知道STM32f4,但我猜測而不是

if(GPIOA->IDR == 0x0001)

你要

if ((GPIOA->IDR & 0x0001) != 0)

原始檢查低位是否打開以及所有其他位是否關閉,而新版本只檢查低位並忽略其余位。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM