Carte Romeo

De Wiki Arobose
(→‎Langage C)
m (→‎Commande à distance)
 
Ligne 99 : Ligne 99 :
 
Nous avons ensuite créer des fonctions qui permettent au robot d'avancer, reculer et tourner en précisant la vitesse (de 0 à 255).
 
Nous avons ensuite créer des fonctions qui permettent au robot d'avancer, reculer et tourner en précisant la vitesse (de 0 à 255).
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
−
void
 
−
motor_setup(void)
 
−
{
 
−
  /* Motor controller */
 
−
  DDRD = (1 << PORTD4); /* E1 (PD4) as output pin */
 
−
  DDRE = (1 << PORTE6); /* E2 (PE6) as output pin */
 
−
 
−
  pwm_3_setup();
 
−
  pwm_4_setup();
 
−
 
−
  pwm_3A_enable();
 
−
  pwm_4D_enable();
 
−
}
 
  
 
/* stop */
 
/* stop */
Ligne 168 : Ligne 155 :
 
}
 
}
 
</syntaxhighlight>
 
</syntaxhighlight>
−
Pour finir, les fonctions main() et setup()
+
Pour finir, la fonction principale main() et les fonctions setup() qui définissent l'état des pins (entrée ou sortie) et active les modules PWM.
 
<syntaxhighlight lang="c">
 
<syntaxhighlight lang="c">
−
 
 
void
 
void
−
pin_setup(void)
+
motor_setup(void)
 
{
 
{
 
   /* Motor controller */
 
   /* Motor controller */
−
   DDRD = (1 << PORTD4); /* PD4 as output pin */
+
   DDRD = (1 << PORTD4); /* E1 (PD4) as output pin */
−
   DDRE = (1 << PORTE6); /* PE6 as output pin */
+
   DDRE = (1 << PORTE6); /* E2 (PE6) as output pin */
 +
 
 +
  pwm_3_setup();
 +
  pwm_4_setup();
 +
 
 +
  pwm_3A_enable();
 +
  pwm_4D_enable();
 
}
 
}
  
Ligne 182 : Ligne 174 :
 
setup(void)
 
setup(void)
 
{
 
{
−
   pin_setup();
+
   motor_setup();
−
  pwm_3_setup();
+
−
  pwm_4_setup();
+
−
  pwm_3A_enable();
+
−
  pwm_4D_enable();
+
 
}
 
}
  
Ligne 220 : Ligne 208 :
 
USART_1_setup(void)
 
USART_1_setup(void)
 
{
 
{
−
   PORTD &= ~(1 << PORT2); /* initialize pin PD2 (RX) as input pin */
+
   DDRD &= ~(1 << PD2); /* initialize pin PD2 (RX) as input pin */
−
   PORTD |= (1 << PORT3); /* initialize pin PD3 (TX) as output pin */
+
   DDRD |= (1 << PD3); /* initialize pin PD3 (TX) as output pin */
  
 
   UBRR1 = 103; /* 9600 Baud at 16MHz */
 
   UBRR1 = 103; /* 9600 Baud at 16MHz */

Version actuelle en date du 29 juillet 2013 à 14:29

Outils personnels
Catégories