1、參考資料
《stm32f1開發指南-庫函式版本》-第六章 跑馬燈實驗6.1小節
《stm32中文參考手冊v10》-第8章通用和復用功能io(gpio和afio)
2、warship原理圖
led0--pd5 led1--pe5 共陽極 低電平有效
推挽輸出:
可以輸出強高低電平,連線數字器件
操作io口:
標頭檔案:stm32f10x_gpio.h
原始檔:stm32f10x_gpio.c
3、重要函式:
1個初始化函式:
void gpio_init(gpio_typedef* gpiox, gpio_inittypedef* gpio_initstruct);
2個讀取輸入電平函式:
uint8_t gpio_readinputdatabit(gpio_typedef* gpiox, uint16_t gpio_pin);
uint16_t gpio_readinputdata(gpio_typedef* gpiox);
2個讀取輸出電平函式:
uint8_t gpio_readoutputdatabit(gpio_typedef* gpiox, uint16_t gpio_pin);
uint16_t gpio_readoutputdata(gpio_typedef* gpiox);
4個設定輸出電平函式:
void gpio_setbits(gpio_typedef* gpiox, uint16_t gpio_pin);
void gpio_resetbits(gpio_typedef* gpiox, uint16_t gpio_pin);
void gpio_writebit(gpio_typedef* gpiox, uint16_t gpio_pin, bitaction bitval);
void gpio_write(gpio_typedef* gpiox, uint16_t portval);
4、跑馬燈用到三個函式
gpio_init() gpio_setbits() gpio_resetbits()
·使能io口時鐘。呼叫函式rcc_apb2periphcolckcmd();
不同的io組,呼叫的時鐘使能函式不一樣
·初始化io口模式。呼叫gpio_init();
·操作io口,輸出高低電平
gpio_setbits();
gpio_resetbits();
5、複製工程模板,新建資料夾hardware,在hardware資料夾中新增led資料夾
新增檔案led.c和led.h
6、寫**
LED跑馬燈實驗
一 新建工程並新增相應的工程檔案 本實驗需要用到三個韌體庫檔案,分別為stm32f4xx gpio.c stm32f4xx gpio.h stm32f4xx rcc.c stm32f4xx rcc.h misc.c misc.h 二 編寫使用者驅動 1 編寫c檔案 a.使能gpio時鐘,根據電路原理...
常用庫函式 跑馬燈實驗和我為什麼使用庫函式?
建議閱讀時長15min,全是乾貨 希望讀者能點贊,關注,分享,讓我更有動力,等我徹底寫完stm32的學習日誌,我會製作成電子書,分享給大家。截至2020年8月28日,st公司一共開發了三個庫,分別是標準外設庫 std hal庫,ll庫,此前使用直接控制暫存器的方式控制微處理器,從開發時間上是暫存器 ...
實驗一 跑馬燈實驗
一 實驗目的 通過控制戰艦stm32開發板上的兩個led燈 ds0和ds1交替閃爍,實現類似跑馬燈的效果。二 stm32 io簡介 stm32 的每個 io 埠都有 7 個暫存器來控制。他們分別是 配置模式的 2 個 32 位的埠配置暫存器 crl 和 crh 2 個 32 位的資料暫存器 idr ...