io口狀態檢測
gpio_pinstate hal_gpio_readpin (gpio_typedef * gpiox, uint16_t gpio_pin)
gpiox:指a-h等外設
gpio_init:指向gpio_inittypedef結構的指標
io口狀態反轉
void hal_gpio_togglepin (gpio_typedef * gpiox, uint16_t gpio_pin)
gpiox:指a-h等外設
gpio_init:指向gpio_inittypedef結構的指標
io口狀態鎖定
hal_statustypedef hal_gpio_lockpin (gpio_typedef * gpiox, uint16_t gpio_pin)
gpiox:指a-h等外設
gpio_init:指向gpio_inittypedef結構的指標
按鍵key_0按下時ds0和ds1狀態取反,鬆開時恢復
io口配置
#define key_0_pin gpio_pin_4
#define key_0_gpio_port gpioe
#define led1_pin gpio_pin_5
#define led1_gpio_port gpioe
#define led0_pin gpio_pin_5
#define led0_gpio_port gpiob
static
void
mx_gpio_init
(void);
/* gpio ports clock enable */
__hal_rcc_gpioe_clk_enable()
;__hal_rcc_gpioa_clk_enable()
;__hal_rcc_gpiob_clk_enable()
;/*configure gpio pin output level */
hal_gpio_writepin
(led1_gpio_port, led1_pin, gpio_pin_reset)
;/*configure gpio pin output level */
hal_gpio_writepin
(led0_gpio_port, led0_pin, gpio_pin_reset)
;/*configure gpio pin : key_0_pin */
gpio_initstruct.pin = key_0_pin;
gpio_initstruct.mode = gpio_mode_input;
gpio_initstruct.pull = gpio_pullup;
hal_gpio_init
(key_0_gpio_port,
&gpio_initstruct)
;/*configure gpio pin : led1_pin */
gpio_initstruct.pin = led1_pin;
gpio_initstruct.mode = gpio_mode_output_pp;
gpio_initstruct.pull = gpio_nopull;
gpio_initstruct.speed = gpio_speed_freq_low;
hal_gpio_init
(led1_gpio_port,
&gpio_initstruct)
;/*configure gpio pin : led0_pin */
gpio_initstruct.pin = led0_pin;
gpio_initstruct.mode = gpio_mode_output_pp;
gpio_initstruct.pull = gpio_nopull;
gpio_initstruct.speed = gpio_speed_freq_low;
hal_gpio_init
(led0_gpio_port,
&gpio_initstruct)
;}
main函式
int
main
(void
)/* user code begin 3 */
}/* user code end 3 */
}
下節加上時鐘配置 STM32 HAL庫學習筆記
1 系統時鐘 一般用stm32cube生成,使用者只需要會用stm32cube就行。2 gpio輸出void led gpio config void 3 gpio輸入void key gpio config void 4 外部中斷void exti key config void void ext...
STM32 HAL庫學習筆記
1 普通函式與 函式的區別 對普通函式的呼叫 呼叫程式發出對普通函式的呼叫後,程式執行立即轉向被呼叫函式執行,直到被呼叫函式執行完畢後,再返 用程式繼續執行。從發出呼叫的程式的角度看,這個過程為 呼叫 等待被呼叫函式執行完畢 繼續執行 對 函式呼叫 呼叫程式發出對 函式的呼叫後,不等函式執行完畢,立...
stm32HAL庫學習 UART學習筆記
一 串列埠輸出列印重定向printf,如下 int fputc int ch,file f hal uart transmit huart1,temp,1,1000 return ch int fgetc file f 用作程式除錯輸出時,可以使用一組巨集定義,方便開發完成後關閉printf 除錯日...