STM32
直播中

cherry1989

12年用户 961经验值
擅长:嵌入式技术
私信 关注
[问答]

STM32F429串口是怎样去控制蜂鸣器的不同频率的

STM32F429串口是怎样去控制蜂鸣器的不同频率的?其实现过程函数怎样?

回帖(1)

王玲

2021-10-25 14:11:02
  通过串口接收到的不定长数据判断,如果是两个字节就进行蜂鸣器控制,通过第二个字节来控制蜂鸣器的频率,控制频率的方法是新开一个定时器,设置定时时间为串口接收到的第二个字节控制的时间,如果串口接收到第二个字节为01,则开定时器
  bsp_StartAutoTimer(0,1); //500hz,
  main函数中调用check函数:
  while (1){ if(bsp_CheckTimer(0)){bsp_beept();}};
  即每1ms蜂鸣器IO电平信号反转一次,即每2ms蜂鸣器接收到一个方波,蜂鸣器此时频率为500hz,其余情况类推。
  Main函数:
  
  实现过程函数:
  
  每次进入case时先关闭定时器,防止上一次的设置造成影响,当控制信号为00时,关闭定时器,拉低蜂鸣器电频,break,蜂鸣器关闭。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分