Advertisement
wojiaocbj

beep

Sep 3rd, 2022
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.56 KB | None | 0 0
  1. unsigned short tone[14] = { 247,262,294,330,349,392,440,294,523,587,659,698,784,1000 };
  2. unsigned char music[121] = { 5,5,6,8,7,6,5,6,13,13,
  3.                 5,5,6,8,7,6,5,3,13,13,
  4.                 2,2,3,5,3,5,6,3,2,1,
  5.                 6,6,5,6,5,3,6,5,13,13,
  6.  
  7.                 5,5,6,8,7,6,5,6,13,13,
  8.                 5,5,6,8,7,6,5,3,13,13,
  9.                 2,2,3,5,3,5,6,3,2,1,
  10.                 6,6,5,6,5,3,6,1,
  11.  
  12.                 13,8,9,10,10,9,8,10,9,8,6,
  13.                 13,6,8,9,9,8,6,9,8,6,5,
  14.                 13,2,3,5,5,3,5,5,6,8,7,6,
  15.                 6,10,9,9,8,6,5,6,8 };
  16. unsigned char time[121] = { 2,4,2,2,2,2,2,8,4, 4, //时间
  17.             2,4,2,2,2,2,2,8,4, 4,
  18.             2,4,2,4,2,2,4,2,2,8,
  19.             2,4,2,2,2,2,2,8,4 ,4,
  20.  
  21.             2,4,2,2,2,2,2,8,4, 4,
  22.             2,4,2,2,2,2,2,8,4, 4,
  23.             2,4,2,4,2,2,4,2,2,8,
  24.             2,4,2,2,2,2,2,8,
  25.  
  26.             4, 2,2,2, 4, 2,2,2, 2,2,8,
  27.             4, 2,2,2,4,2,2,2,2,2,8,
  28.             4, 2,2,2,4,2,2,5,2,6,2,4,
  29.             2,2 ,2,4,2,4,2,2,12 };
  30. void beep_init(){
  31.     GPIO_InitTypeDef gpio;
  32.     gpio.Pin = GPIO_PIN_0;
  33.     gpio.Pull = GPIO_PULLUP;
  34.     gpio.Mode = GPIO_MODE_OUTPUT_PP;
  35.     gpio.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
  36.     HAL_GPIO_Init(GPIOB, &gpio);
  37. }
  38. void sound(unsigned short freq){
  39.     unsigned int time;
  40.     if(freq != 1000){
  41.         time = 500000 / ((unsigned int)freq);
  42.         HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, 0);
  43.         delay_us(time);
  44.         HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, 1);
  45.         delay_us(time);
  46.     }
  47.     else{
  48.         delay_us(1000);
  49.     }
  50.        
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement