埋め込まれた青いブリッジカップのブザーを消せない理由

****

埋め込まれた青いブリッジカップのブザーを消せない理由

****

序文

最初にブザーのピンが見えます

ここに画像の説明を挿入
IOポートを処理する方法は2つあります
。1つはIOポートの多重化で、IOポート
の最初の機能以外に他の機能があります。もう1つは、IOポートの属性を再定義する
ポートの再マッピング
です。
残念ながら、ブザーは2番目に設定されています。。種類
私たちはSWJを開きJNTRSTを閉じる必要があります

	GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE);

誤って書き出さないように注意してください。書き出すと、ダウンロードするたびにリセットボタンを押す必要があります。

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);

それらの位置関係は左側が正しく、右側が誤解されやすい

ブザーを消せない理由

オフにできない理由は、多重化クロックをオンにして多重化
プッシュプル出力
を使用しているためです。多重化プッシュプル出力を使用する
と、常にローレベルでビープ音が鳴ります。
理由常に高くなく、ビープ音が鳴らないのですか?
それは素晴らしいです。
興味のある友達は自分で試すことができます
エラーコード

void BEEP_Init(void)
{
    
    
  GPIO_InitTypeDef GPIO_InitStruct;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
	GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE);
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_4;
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
	GPIO_Init(GPIOB,&GPIO_InitStruct);

}

正しいコード

void BEEP_Init(void)
{
    
    
  GPIO_InitTypeDef GPIO_InitStruct;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);

	GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST,ENABLE);
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_4;
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_10MHz;
	GPIO_Init(GPIOB,&GPIO_InitStruct);

}

おすすめ

転載: blog.csdn.net/m0_46179894/article/details/108335701