User Tools

Site Tools


Writing /var/lib/dokuwiki/data/meta/teaching/ie0624/actividad_stm32_timer_uart.meta failed
teaching:ie0624:actividad_stm32_timer_uart

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
teaching:ie0624:actividad_stm32_timer_uart [2018/10/29 20:37] – [Opcional] dgarciateaching:ie0624:actividad_stm32_timer_uart [2022/09/20 00:08] (current) – external edit 127.0.0.1
Line 84: Line 84:
      
   void system_init(void) {   void system_init(void) {
-    rcc_clock_setup_hsi(&rcc_hsi_8mhz[RCC_CLOCK_64MHZ]);+    rcc_clock_setup_hsi(&rcc_hsi_configs[RCC_CLOCK_HSI_64MHZ]);
     leds_init();     leds_init();
   }   }
Line 138: Line 138:
      
     /* Reset TIM1 peripheral. */     /* Reset TIM1 peripheral. */
-    timer_reset(TIM1);+    //timer_reset(TIM1); 
 +    rcc_periph_reset_pulse(RST_TIM1);
      
     /* Timer global mode:     /* Timer global mode:
Line 234: Line 235:
  
 ==== Opcional ==== ==== Opcional ====
 +
 +En esta parte opcional se logrará reproducir una pieza simple con el STM. Necesita el STM32F3 Discovery, un [[https://en.wikipedia.org/wiki/Buzzer| buzzer]], y una resistencia para limitar la corriente por el buzzer. ** O) Cuál pieza es esta? haga un video **
  
   * Cree la función ''delay'', que toma como entrada un entero y hace que el STM se espere esa cantidad de tiempo.   * Cree la función ''delay'', que toma como entrada un entero y hace que el STM se espere esa cantidad de tiempo.
   * Cree la función ''tone'', que se encarga de crear una señal cuadrada en un pin específico a una frecuencia dada y por un tiempo específico.    * Cree la función ''tone'', que se encarga de crear una señal cuadrada en un pin específico a una frecuencia dada y por un tiempo específico. 
-  * A continuación se muestra una parte de la definición de ambas funciones:+  * Cree l función ''song'', que contiene ls instrucciones para reproducir una pieza musical simple. 
 +  * A continuación se muestra las definiciones de dichas funciones:
  
 <code C> <code C>
Line 248: Line 252:
    * Will wait for 100 miliseconds    * Will wait for 100 miliseconds
    */    */
-  void delay(iint32_t time_ms);+  void delay(uint32_t time_ms);
      
   /*   /*
Line 262: Line 266:
    */    */
   void tone(uint32_t gpioport,uint16_t gpios, uint32_t frequency, uint32_t duration);   void tone(uint32_t gpioport,uint16_t gpios, uint32_t frequency, uint32_t duration);
 +  
 +  /*
 +   * song()
 +   * Reproduces a song
 +   *
 +   * Eample: song()
 +   * Reproduces a song
 +   */
 +  void song(void); 
 </code>  </code> 
 +
 +  * También se incluye la implementación de la función ''song'':
 +
 +<code C>
 +void song(void) {
 +  tone(9,660,100);
 +  delay(150);
 +  tone(9,660,100);
 +  delay(300);
 +  tone(9,660,100);
 +  delay(300);
 +  tone(9,510,100);
 +  delay(100);
 +  tone(9,660,100);
 +  delay(300);
 +  tone(9,770,100);
 +  delay(550);
 +  tone(9,380,100);
 +  delay(575);
 +  
 +  tone(9,510,100);
 +  delay(450);
 +  tone(9,380,100);
 +  delay(400);
 +  tone(9,320,100);
 +  delay(500);
 +  tone(9,440,100);
 +  delay(300);
 +  tone(9,480,80);
 +  delay(330);
 +  tone(9,450,100);
 +  delay(150);
 +  tone(9,430,100);
 +  delay(300);
 +  tone(9,380,100);
 +  delay(200);
 +  tone(9,660,80);
 +  delay(200);
 +  tone(9,760,50);
 +  delay(150);
 +  tone(9,860,100);
 +  delay(300);
 +  tone(9,700,80);
 +  delay(150);
 +  tone(9,760,50);
 +  delay(350);
 +  tone(9,660,80);
 +  delay(300);
 +  tone(9,520,80);
 +  delay(150);
 +  tone(9,580,80);
 +  delay(150);
 +  tone(9,480,80);
 +  delay(500);
 +  
 +  tone(9,510,100);
 +  delay(450);
 +  tone(9,380,100);
 +  delay(400);
 +  tone(9,320,100);
 +  delay(500);
 +  tone(9,440,100);
 +  delay(300);
 +  tone(9,480,80);
 +  delay(330);
 +  tone(9,450,100);
 +  delay(150);
 +  tone(9,430,100);
 +  delay(300);
 +  tone(9,380,100);
 +  delay(200);
 +  tone(9,660,80);
 +  delay(200);
 +  tone(9,760,50);
 +  delay(150);
 +  tone(9,860,100);
 +  delay(300);
 +  tone(9,700,80);
 +  delay(150);
 +  tone(9,760,50);
 +  delay(350);
 +  tone(9,660,80);
 +  delay(300);
 +  tone(9,520,80);
 +  delay(150);
 +  tone(9,580,80);
 +  delay(150);
 +  tone(9,480,80);
 +  delay(500);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +  
 +  tone(9,760,100);
 +  delay(100);
 +  tone(9,720,100);
 +  delay(150);
 +  tone(9,680,100);
 +  delay(150);
 +  tone(9,620,150);
 +  delay(300);
 +  
 +  tone(9,650,150);
 +  delay(300);
 +  tone(9,380,100);
 +  delay(150);
 +  tone(9,430,100);
 +  delay(150);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +  tone(9,430,100);
 +  delay(150);
 +  tone(9,500,100);
 +  delay(100);
 +  tone(9,570,100);
 +  delay(220);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +  
 +  tone(9,760,100);
 +  delay(100);
 +  tone(9,720,100);
 +  delay(150);
 +  tone(9,680,100);
 +  delay(150);
 +  tone(9,620,150);
 +  delay(300);
 +  
 +  tone(9,650,200);
 +  delay(300);
 +  
 +  tone(9,1020,80);
 +  delay(300);
 +  tone(9,1020,80);
 +  delay(150);
 +  tone(9,1020,80);
 +  delay(300);
 +  
 +  tone(9,380,100);
 +  delay(300);
 +  tone(9,500,100);
 +  delay(300);
 +  
 +  tone(9,760,100);
 +  delay(100);
 +  tone(9,720,100);
 +  delay(150);
 +  tone(9,680,100);
 +  delay(150);
 +  tone(9,620,150);
 +  delay(300);
 +  
 +  tone(9,650,150);
 +  delay(300);
 +  tone(9,380,100);
 +  delay(150);
 +  tone(9,430,100);
 +  delay(150);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +  tone(9,430,100);
 +  delay(150);
 +  tone(9,500,100);
 +  delay(100);
 +  tone(9,570,100);
 +  delay(420);
 +  
 +  tone(9,585,100);
 +  delay(450);
 +  
 +  tone(9,550,100);
 +  delay(420);
 +  
 +  tone(9,500,100);
 +  delay(360);
 +  
 +  tone(9,380,100);
 +  delay(300);
 +  tone(9,500,100);
 +  delay(300);
 +  tone(9,500,100);
 +  delay(150);
 +  tone(9,500,100);
 +  delay(300);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +  
 +  tone(9,760,100);
 +  delay(100);
 +  tone(9,720,100);
 +  delay(150);
 +  tone(9,680,100);
 +  delay(150);
 +  tone(9,620,150);
 +  delay(300);
 +  
 +  tone(9,650,150);
 +  delay(300);
 +  tone(9,380,100);
 +  delay(150);
 +  tone(9,430,100);
 +  delay(150);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +  tone(9,430,100);
 +  delay(150);
 +  tone(9,500,100);
 +  delay(100);
 +  tone(9,570,100);
 +  delay(220);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +   
 +  tone(9,760,100);
 +  delay(100);
 +  tone(9,720,100);
 +  delay(150);
 +  tone(9,680,100);
 +  delay(150);
 +  tone(9,620,150);
 +  delay(300);
 +   
 +  tone(9,650,200);
 +  delay(300);
 +  
 +  tone(9,1020,80);
 +  delay(300);
 +  tone(9,1020,80);
 +  delay(150);
 +  tone(9,1020,80);
 +  delay(300);
 +  
 +  tone(9,380,100);
 +  delay(300);
 +  tone(9,500,100);
 +  delay(300);
 +   
 +  tone(9,760,100);
 +  delay(100);
 +  tone(9,720,100);
 +  delay(150);
 +  tone(9,680,100);
 +  delay(150);
 +  tone(9,620,150);
 +  delay(300); 
 +  
 +  tone(9,650,150);
 +  delay(300);
 +  tone(9,380,100);
 +  delay(150);
 +  tone(9,430,100);
 +  delay(150);
 +  
 +  tone(9,500,100);
 +  delay(300);
 +  tone(9,430,100);
 +  delay(150);
 +  tone(9,500,100);
 +  delay(100);
 +  tone(9,570,100);
 +  delay(420);
 +  
 +  tone(9,585,100);
 +  delay(450);
 +  
 +  tone(9,550,100);
 +  delay(420);
 +  
 +  tone(9,500,100);
 +  delay(360);
 +  
 +  tone(9,380,100);
 +  delay(300);
 +  tone(9,500,100);
 +  delay(300);
 +  tone(9,500,100);
 +  delay(150);
 +  tone(9,500,100);
 +  delay(300);
 +   
 +  tone(9,500,60);
 +  delay(150);
 +  tone(9,500,80);
 +  delay(300);
 +  tone(9,500,60);
 +  delay(350);
 +  tone(9,500,80);
 +  delay(150);
 +  tone(9,580,80);
 +  delay(350);
 +  tone(9,660,80);
 +  delay(150);
 +  tone(9,500,80);
 +  delay(300);
 +  tone(9,430,80);
 +  delay(150);
 +  tone(9,380,80);
 +  delay(600);
 +  
 +  tone(9,500,60);
 +  delay(150);
 +  tone(9,500,80);
 +  delay(300);
 +  tone(9,500,60);
 +  delay(350);
 +  tone(9,500,80);
 +  delay(150);
 +  tone(9,580,80);
 +  delay(150);
 +  tone(9,660,80);
 +  delay(550);
 +  
 +  tone(9,870,80);
 +  delay(325);
 +  tone(9,760,80);
 +  delay(600);
 +  
 +  tone(9,500,60);
 +  delay(150);
 +  tone(9,500,80);
 +  delay(300);
 +  tone(9,500,60);
 +  delay(350);
 +  tone(9,500,80);
 +  delay(150);
 +  tone(9,580,80);
 +  delay(350);
 +  tone(9,660,80);
 +  delay(150);
 +  tone(9,500,80);
 +  delay(300);
 +  tone(9,430,80);
 +  delay(150);
 +  tone(9,380,80);
 +  delay(600);
 +  
 +  tone(9,660,100);
 +  delay(150);
 +  tone(9,660,100);
 +  delay(300);
 +  tone(9,660,100);
 +  delay(300);
 +  tone(9,510,100);
 +  delay(100);
 +  tone(9,660,100);
 +  delay(300);
 +  tone(9,770,100);
 +  delay(550);
 +  tone(9,380,100);
 +  delay(575);
 +  }
 +</code>  
 ===== Referencias ===== ===== Referencias =====
  
teaching/ie0624/actividad_stm32_timer_uart.1540845422.txt.gz · Last modified: 2022/09/20 00:08 (external edit)