STM32鍵盤 庫函式

2021-08-25 02:23:36 字數 1300 閱讀 7893

昨天晚上老大回來看我頻繁使用暫存器寫程式給出指點,告訴我盡量使用庫函式,少使用暫存器,畢竟暫存器在後面使用的時候還要乙個乙個查詢手冊可能太麻煩了,nice!

這次使用庫函式操作鍵盤,很基礎的實驗,其中摻雜了之前的蜂鳴器和led內容。

感覺基礎鍵盤實驗比較有價值的還是那個鍵盤操作函式,以下給出標準模板,mode作為引數時置0為不支援連續摁鍵,置1時為支援連續摁鍵。

//摁鍵函式,0為不支援連摁,1為支援連摁

u8 key_scan(u8 mode)

else if(key0 == 1 && key1 == 1 && key2 == 1 && wk_up == 0) flag = 1;

return 0;

}

其餘的無非是rcc時鐘使能、gpio初始化、各個功能的初始化、執行相關功能的操作,以下主要給出key.h、key.c、main.c

1.key.h

#ifndef __key_h

#define __key_h

#include "sys.h"

#define key0 pein(4)

#define key1 pein(3)

#define key2 pein(2)

#define wk_up pain(0)

#define key0_pres 1

#define key1_pres 2

#define key2_pres 3

#define wkup_pres 4

void key_init(void);

u8 key_scan(u8 mode);

#endif

2.key.c

#include "key.h"

void key_init()

//摁鍵函式,0為不支援連摁,1為支援連摁

u8 key_scan(u8 mode)

else if(key0 == 1 && key1 == 1 && key2 == 1 && wk_up == 0) flag = 1;

return 0;

}

3.main.c

#include "led.h"

#include "sys.h"

#include "usart.h"

#include "delay.h"

#include "beep.h"

#include "key.h"

int main()

}}

stm32 按鍵(庫函式版)

不得不說程序太慢了 感覺很慌 但是幹什麼事情又非常的從容 學的很慢學著學著發現 不止是要學新東西 那些 以前早該知道的東西也忘了好多 還有 一定一定要好好學習 擴充套件知識面 什麼東西都一定要學精 因為知識的封鎖真的真的很可怕 很可怕 所以一定多學習 多動手 要加油 終於可以看這個的重點了 按鍵 就...

STM32 庫函式流水燈程式

我用的stm32f103zet6晶元 led給0亮 先在新建好的專案資料夾syste裡建乙個led資料夾用於存放led.c和led.h 如 接下來直接看 吧!main.c include sys.h include delay.h include led.h intmain void led.c i...

STM32 實現PWM 庫函式版

tim1和tim7沒有pwm輸出 tim0和tim8 有七路pwm輸出 27 14 通用定時器 都有4個 pwm 44 16 一共有30個pwm輸出 圖中,我們假定定時器工作在向上計數 pwm 模式,且當 cnt ccrx 時輸出 1。那麼就可以得到如上的 pwm示意圖 當 cnt 值小於 ccrx...