蜂鳴器的驅動訊號連線在 stm32f1 的 pb8 上。
我們這裡通過位帶操作來實現某個 io 口的輸出控制, beep 就直接代表了 pb8 的輸出狀態。我們只需要令 beep=1,就可以讓蜂鳴器發聲。
#ifndef __beep_h
#define __beep_h
#include
"sys.h"
#define beep pbout(8)
// beep,蜂鳴器介面
void
beep_init
(void);
//初始化
#endif
pb8 要使用高8位crh暫存器。
#include
"beep.h"
//初始化 pb8 為輸出口.並使能這個口的時鐘
//蜂鳴器初始化
void
beep_init
(void
)
#include
"sys.h"
#include
"delay.h"
#include
"led.h"
#include
"beep.h"
intmain
(void
)}
03 原子戰艦 按鍵輸入實驗(暫存器)
pa0 wk up 即 key up define key0 pres 1 key0 按下 define key1 pres 2 key1 按下 define key2 pres 3 key2 按下 define wkup pres 4 key up 按下 即 wk up key up void k...
STM32蜂鳴器 暫存器
這次實驗犯了個笑話,竟然在巨集定義後面加分號.就像這樣 define 大家千萬不要學我,結果報錯expected expression,還苦惱半天,想為啥操作不了暫存器了?我真愚蠢!剛開始我也不會寫這些東西,其實摸清套路就好,rcc時鐘使能 gpio初始化 相關暫存器初始化 延時函式 串列埠等初始化...
crh暫存器 實驗 使用暫存器點亮LED
埠配置高暫存器後面的英文就是暫存器名稱可參考參考手冊,然後x可以為a e也就是適用gpuoa gpioe埠這樣的乙個暫存器。位址偏移,就是本暫存器相對這個外設基位址的偏移 暫存器位表 表示0 31位名稱及許可權,表上方的數字位編號,中間位位名稱,下方位讀寫許可權,w表示寫,r表示讀 位功能,如表所描...