總結寫的stm32的KEY控制LED

2021-07-31 04:15:00 字數 1037 閱讀 2102

stm32的學習就是弄懂是怎麼進行軟體配置,先明白硬體連線,再結合起來;

#include "stm32f4xx.h"

#include "led.h"

#define key0  gpio_readinputdatabit(gpioe,gpio_pin_4)   // 這裡讀取io的狀態,將stm32的io口作為輸入使用

#define key1  gpio_readinputdatabit(gpioe,gpio_pin_3)

#define key2  gpio_readinputdatabit(gpioe,gpio_pin_2)

#define led0 pfout(9)                                  //dso  led的埠定義,可以有位帶操作實現某個io口的乙個位;這個是正點原子中的,標準庫中沒有

#define led1 pfout(10)

#define led2 pfout(9)&&pfout(10)

void key_init(void);                 // 

u8 key_scan( u8 );

void delay(void)                       // 使用最簡單的方式實現延遲,這種方式僅僅用於測試

int main()

}delay();

//delay();

//gpio_resetbits(gpiof,gpio_pin_9);

//gpio_setbits(gpiof,gpio_pin_10);

////

gpio_resetbits(gpiof,gpio_pin_9);

//gpio_setbits(gpiof,gpio_pin_10);

}return 0;

}void key_init(void)

u8 key_scan( u8 mode)else if(key0==1&&key1==1&&key2==1) key=1;

return 0;

void led_init(void )

STM32的時鐘控制

stm32外部晶振經倍頻後提供系統時鐘常用設定 void rcc configuration void rcc sysclkconfig rcc sysclksource pllclk 設定pll為系統時鐘 while rcc getsysclksource 0x08 檢測系統的時鐘源是否是pll ...

stm32控制電機

使用埠gpioa來連線電機,所以給gpioa程式設計就可以控制電機。使用系統時鐘systick來週期性的給電機傳送脈衝。用四個按鈕來控制需要傳送脈衝的個數,每個按鈕被按下就設定給電機傳送脈衝的個數,如果上一次給電機傳送的脈衝沒有傳送完成,這次按鈕傳送的脈衝將不被響應。由於需要控制兩個電機,所以將gp...

STM32電燈總結

stm32點亮三個led燈學習總結 在進行位址進行巨集定義時候,一定要強制性型別轉化 現在我們開始對時鐘rcc裡面的rcc apb2 enr使能暫存器進行位址的巨集定義,有 define periph base unsigned int 0x40000000 define ahb periph ba...