Contrôle d’une led avec un µC STM32

Exemple de contrôle d’une led sur le port PE8 avec un microcontrôleur STM32F407 :

void led_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;

// configuration en sortie
GPIO_InitStruct.Pin = GPIO_PIN_8;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);

}

void led_control(GPIO_PinState state_led)
{
HAL_GPIO_WritePin(GPIOE, GPIO_PIN_8, state_led);
}

void led_toggle(void)
{
HAL_GPIO_TogglePin(GPIOE, GPIO_PIN_8);
}

 

Gestion du buzzer et de la led RGB

Un tutoriel pour gérer le buzzer et le led RGB du robot mobile MRPiZ (version 0.8) en langage C.

Exemple n°1 : faire du bruit

Un exemple pour utiliser le buzzer :

#include "MRPiZ.h"


int main(int argc, char* argv[])
{

init();

buzzer(100); // fréquence de 100 Hz

sleep(3);

buzzer(200); // fréquence de 200 Hz

sleep(3);

buzzer(0);
}
  • frequency : fréquence du signal
buzzer(frequency)

Exemple n°2 : faire de la lumière

Un exemple pour utiliser la led RGB :

 

#include "MRPiZ.h"


int main(int argc, char* argv[])
{

init();

while(1)
{

ledRGB(1,0,0);

sleep(3);

ledRGB(0,1,0);

sleep(3);

ledRGB(0,0,1);

sleep(3);
}
}
  • red, green, blue :
    • 0 : off
    • 1 : on
ledRGB(red, green, blue)