Advertisement
Guest User

Untitled

a guest
Feb 17th, 2020
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. // Hello World example for the USBMIDI library
  2.  
  3. #include "mbed.h"
  4. #include "USBMIDI.h"
  5.  
  6.  
  7. void setup(void)
  8. {
  9.     RCC_ClkInitTypeDef RCC_ClkInitStruct;
  10.     RCC_OscInitTypeDef RCC_OscInitStruct;
  11.  
  12.     RCC_OscInitStruct.OscillatorType =  RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE;
  13.     RCC_OscInitStruct.HSEState =        RCC_HSE_ON;
  14.    
  15.     RCC_OscInitStruct.LSIState =        RCC_LSI_ON;
  16.     RCC_OscInitStruct.PLL.PLLState =    RCC_PLL_ON;
  17.     RCC_OscInitStruct.PLL.PLLSource =   RCC_PLLSOURCE_HSE;
  18.    
  19. RCC_OscInitStruct.PLL.PLLM            = 25;             // VCO input clock = 1 MHz (25 MHz / 25)
  20. RCC_OscInitStruct.PLL.PLLN            = 192;           // VCO output clock = 192 MHz (1 MHz * 192)
  21. RCC_OscInitStruct.PLL.PLLP            = RCC_PLLP_DIV2; // PLLCLK = 96 MHz (192 MHz / 2)
  22. RCC_OscInitStruct.PLL.PLLQ            = 4;             // USB clock = 48 MHz (192 MHz / 4) --> Good for USB
  23.  
  24.   HAL_RCC_OscConfig(&RCC_OscInitStruct);
  25.  
  26.     RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1;
  27.     RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  28.     RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
  29.     HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2);
  30.    
  31.     SystemCoreClockUpdate();
  32.     SystemCoreClock = 96000000;
  33.    
  34.     //HAL_RCC_MCOConfig(RCC_MCO2, RCC_MCO2SOURCE_SYSCLK, RCC_MCODIV_1);        // output SYSCLOCK to pin PC9 to monitor frequency
  35. }
  36.  
  37.  
  38.  
  39. int main() {    
  40.  
  41.     setup();
  42.  
  43.     USBMIDI midi;
  44.    
  45.          
  46.     while (1) {    
  47.         for(int i=48; i<83; i++) {     // send some messages!
  48.             midi.write(MIDIMessage::NoteOn(i));
  49.             wait(0.25);
  50.             midi.write(MIDIMessage::NoteOff(i));
  51.             wait(0.5);
  52.             myled = !myled; // LED
  53.         }
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement