02 原子戰艦 蜂鳴器實驗(暫存器)

2021-10-03 03:16:24 字數 774 閱讀 6467

蜂鳴器的驅動訊號連線在 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表示讀 位功能,如表所描...