標頭檔案:stm32f10x_gpio.h
原始檔:stm32f10x_gpio.c
rcc_apb2periphclockcmd
(rcc_apb2periph_gpiox,enable)
;
void
gpio_init
(gpio_typedef* gpiox, gpio_inittypedef* gpio_initstruct)
;
gpio_inittypedef gpio_initstructure;
//定義gpio引數結構體
gpio_initstructure.gpio_pin = gpio_pin_5;
//選擇要配置的io口
gpio_initstructure.gpio_mode = gpio_mode_out_pp;
//推挽輸出
gpio_initstructure.gpio_speed = gpio_speed_50mhz;
//io口速度為50mhz
gpio_init
(gpiob,
&gpio_initstructure)
;//根據設定引數初始化gpiob.5
uint8_t gpio_readinputdatabit
(gpio_typedef* gpiox, uint16_t gpio_pin)
;uint16_t gpio_readinputdata
(gpio_typedef* gpiox)
;
gpio_readinputdatabit
(gpioa, gpio_pin_5)
;//讀取pa^5的輸入電平
gpio_readinputdata
(gpioa)
;//讀取gpioa組中所有io口輸入電平
uint8_t gpio_readoutputdatabit
(gpio_typedef* gpiox, uint16_t gpio_pin)
;//讀取gpiox組下某個引腳電平
uint16_t gpio_readoutputdata
(gpio_typedef* gpiox)
;//讀取gpiox該組所有引腳輸出電平
gpio_readoutputdatabit
(gpioa, gpio_pin_5)
;//讀取gpioa.5的輸出電平
gpio_readoutputdata
(gpioa)
;//讀取gpioa組中所有io口輸出電平
void
gpio_setbits
(gpio_typedef* gpiox, uint16_t gpio_pin)
;//輸出置1
void
gpio_resetbits
(gpio_typedef* gpiox, uint16_t gpio_pin)
;//輸出置0
void
gpio_writebit
(gpio_typedef* gpiox, uint16_t gpio_pin, bitaction bitval)
;//不常用
void
gpio_write
(gpio_typedef* gpiox, uint16_t portval)
;//不常用
void gpio_setbits(gpio_typedef* gpiox, uint16_t gpio_pin);
設定某個io口輸出為高電平1。實際操作bsrr暫存器
void gpio_resetbits(gpio_typedef* gpiox, uint16_t gpio_pin);
設定某個io口輸出為低電平0。實際操作的brr暫存器。
void gpio_writebit(gpio_typedef* gpiox, uint16_t gpio_pin, bitaction bitval);
void gpio_write(gpio_typedef* gpiox, uint16_t portval);
這兩個函式不常用,也是用來設定io口輸出電平。
//實現兩個燈的交替閃爍
#include
"stm32f10x.h"
void
delay
(u32 count)
intmain
(void
)}
STM32F103ZET6學習總結
1.任何外設在使用之前,必須先使能相應的時鐘。2.使用不同外設時,gpio引腳應該如何配置?1 gpio mode ain 模擬輸入 2 gpio mode in floating 浮空輸入 3 gpio mode ipd 下拉輸入 4 gpio mode ipu 上拉輸入 5 gpio mode ...
STM32F103ZET6移植FreeRTOS過程
2.解壓 我們需要幾個檔案 1 在freertosv9.0.0 freertos source 下的所有c檔案 ps 並不是所有都一定要用,按需要取 2 在freertosv9.0.0 freertos source include整個資料夾 3 在freertosv9.0.0 freertos s...
STM32F103ZET6 電容觸控按鍵
開關閉合,電容充電,直至電容兩端電壓 v1 rc電路充放電公式 vt v0 v1 v0 1 exp t rc v0 為電容上的初始電壓值 v1 為電容最終可充到或放到的電壓值 vt 為t時刻電容上的電壓值。如果v0為0,也就是從0v開始充電。那麼公式簡化 vt v1 1 exp t rc 結論 同樣...