****
埋め込まれた青いブリッジカップのブザーを消せない理由
****
序文
最初にブザーのピンが見えます
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);
}