02 STM32組み込みブザー実験05

ブザー:電子シャンチー一体構造。分割分圧ブザーブザー電磁二種類。

アクティブ/パッシブブザー(かパワーバンドを参照していないが、何の内蔵発振回路は存在しません

 

  図1に示すように、アクティブブザー:アクティブブザー自身の発振回路は、音が通電されます。

 

  2、パッシブブザー:発振回路が所有していない、必要外部に約2〜5kHzの方形波提供ドライブを、あまりにも聞こえることができます。

第二に、ハードウェア設計

  単一STM32 IOポートは、25ミリアンペアの最大電流を供給することができるので、現在のブザーが30ミリアンペア程度であるドライブ、両者は非常に類似しているが、チップ全体のSTM32電流が150ミリアンペア程度である最大、もしIOポートブザー付きダイレクトドライブ現在の他の機能を使用する際に不足が生じる可能性があります。そこで、次に、駆動トランジスタに流れるSTM32 IOポートが1ミリアンペアで十分である未満の電流を供給するだけでよいので、ブザー(S8050)を含みます。

  R33は、主にブザーを鳴らす偶発を防止するために使用され場合PB.8が出力するハイレベルブザーがあろうときPB.8が出力する低レベルブザーが鳴動を停止します

  

第三に、ソフトウェア設計

 

1つの // 関数
2の#include " beep.h " 
3。の#include " stm32f10x.h " 
4。 
5。 
6。 ボイド BEEP_Init(ボイド7。 {
 8。      GPIO_InitTypeDef GPIO_BEEP;                 // 構造を作成する
。9  
10      GPIO_BEEP.GPIO_Mode = GPIO_Mode_Out_PP;     / / 出力プッシュプルするようにポートを設定する
11。      GPIO_BEEP.GPIO_Pin = GPIO_Pin_8;            // PB.8ポート                      
12れる      GPIO_BEEP.GPIO_Speed = GPIO_Speed_50MHz;    // 50MHzの
13は、     
14      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB、ENABLE);     // GPIOBクロック初期化
15      
16      GPIO_Init(GPIOB、&GPIO_BEEPを);              // パラメータが初期化さGPIO.8ある
。17 }

 

主な機能

1つの#include " sys.h " 
2の#include " delay.h " 
3。の#include " beep.h " 
4。 
5。 INTメイン(ボイド6。 {
 7。      BEEP_Init();       // ブザー初期化    
。8      delay_init();      / / 遅延機能は、初期化
9。     しばらく1 10      {
 11。          GPIO_ResetBits(GPIOB、GPIO_Pin_8を);       // ブザーを閉じ
12は          Delay_ms(1500);                             // 1.5秒の遅延
13は         
14          GPIO_SetBits(GPIOB、GPIO_Pin_8);         // ブザー
15          Delay_ms(100);                             // 0.1秒の遅延
16      }
 17 }

 

おすすめ

転載: www.cnblogs.com/ksht-wdyx/p/11600351.html