Skip to content

time 蜂鸣器

## 1. 硬件连接

一个输出PWM波的GPIO,连接到蜂鸣器的控制PIN即可 alt text

2. CubeMX生成代码

alt text

时钟配置

时钟需要和我的保持一致,否则输出的频率不相同 alt text

3. 编写代码

修改的代码就只有两句 1. HAL_TIM_PWM_Start:启动定时器 2. __HAL_TIM_SetCompare:配置定时器的占空比

调整定时器的占空比和频率,会让蜂鸣器发出不同的声响,

C

int main(void)
{
  HAL_Init();
  SystemClock_Config();
  MX_GPIO_Init();
  MX_SPI2_Init();
  MX_USART1_UART_Init();
  MX_TIM1_Init();
  /* USER CODE BEGIN 2 */
  HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);
  //PA8
  __HAL_TIM_SetCompare(&htim1, TIM_CHANNEL_1, 100);    //修改比较值,修改占空比
  /* USER CODE END 2 */
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
        HAL_Delay(1000);
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

4. 后记