Let's Discover STM32 (Blinking Led, Delay, GPIO I/O)
Un point remarquable est qu'un certain nombre de ces processeurs poss�dent deux convertisseurs analogique-num�riques, permettant un �chantillonnage simultan�e de deux grandeurs analogiques. Cadence sur un r�sonateur interne ou sur un quartz externe haute fr�quence 8 MHz (multiplie en interne au maximum  a 72 MHz).
Le kit STM32F4Discovery de STMicroelectronics est con�u pour �valuer les caract�ristiques des microcontr�leurs des s�ries STM32F407 et STM32F417. Les microcontr�leurs STM32F407 et STM32F417 sont bas�s sur le c�ur 32 bits ARM Cortex-M4F hautes performances. 
Les familles STM32F405, STM32F407, STM32F415, STM32F417 de microcontr�leurs sont bas�es sur le noyau RISC 32 bits ARM Cortex-M4 de qualit� sup�rieure qui fonctionne � une fr�quence de jusqu'� 168 MHz. Le noyau Cortex-M4 offre une unit� de virgule flottante (FPU) � pr�cision simple qui prend en charge toutes les instructions de traitement de donn�es et types de donn�es � pr�cision simple ARM. Il ex�cute �galement toute une s�rie d'instructions DSP et une unit� de protection de m�moire (MPU) qui am�liore la s�curit� d'application. 
�         Microcontr�leur STM32F407VGT6 avec noyau Cortex-M4F 32 bits ARM, flash 1 Mo, 192 Ko de RAM dans un bo�tier LQFP100
�         ST-LINK/V2 int�gr� avec choix de commutation des modes pour utiliser le kit comme 
�         ST-LINK/V2 autonome (avec connecteur SWD pour la programmation et le d�bogage)
�         L'alimentation de la carte se fait par bus USB ou via tension d'alimentation externe de 5 V
�         Alimentation d'application externe : 3 et 5 V
�         Acc�l�rom�tre LIS302DL ou LIS3DSH ST MEMS
�         MP45DT02, capteur audio ST MEMS, microphone num�rique omnidirectionnel
�         CS43L22, DAC audio avec pilote de haut-parleur de classe D int�gr�
�         Huit LED : LD1 (rouge/verte) pour la communication USB, LD2 (rouge) pour la mise sous tension 3,3 V. 
�         Quatre LED utilisateur, LD3 (orange), LD4 (verte), LD5 (rouge) et LD6 (bleue), 2 
�         LED OTG USB LD7 (vertes) VBus et LD8 (rouge), surintensit�
�         Deux boutons-poussoirs (utilisateur et Reset)
�         USB OTG FS avec micro-connecteur AB
�         Extension d'embase pour toutes les E/S LQFP100 de connexion rapide pour la 
� SDIO (entr�e/sortie num�rique s�curis�e)
USART, SPI, I�C
I�S (son Inter-IC) + PLL audio
Timers 16 et 32 bits
ADC jusqu'� 3 x 12 bits
Basse tension 1,7 � 3,6 V
     Voici des exemples de r�alisation pratique �quip�es avec les codes sources et des vid�os d�monstratifs
     1- STM32 Tutoriel #1 (Control Leds Using externel Button) 
CODE IS HERE :
| /*Let's Electronic By Aymen Lachkhem */  #include "stm32f4xx_hal.h"  int main() {  GPIO_InitTypeDef GPIO_InitStructure;  //HAL_Init();    /* GPIO Ports Clock Enable */   __GPIOD_CLK_ENABLE();  __GPIOA_CLK_ENABLE();    /* Configure PD10 as output pushpull mode */   GPIO_InitStructure.Pin = GPIO_PIN_10;  GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;  GPIO_InitStructure.Speed = GPIO_SPEED_LOW;  GPIO_InitStructure.Pull = GPIO_PULLDOWN;  HAL_GPIO_Init(GPIOD, &GPIO_InitStructure);     /* Configure PA1 in input mode*/  GPIO_InitStructure.Pin = GPIO_PIN_1;  GPIO_InitStructure.Mode = GPIO_MODE_INPUT;  GPIO_InitStructure.Pull = GPIO_NOPULL;  HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);     while(1)  {   if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1) == GPIO_PIN_SET)   HAL_GPIO_WritePin(GPIOD, GPIO_PIN_10, GPIO_PIN_SET);      else    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_10, GPIO_PIN_RESET); } } | 
Have Fun 
   2- STM32 Tutoriel #2 (Control DC Motor in Both Direction) 
CODE IS HERE :
| /*Let's Electronic By Aymen Lachkhem*/  #include "stm32f4xx_hal.h"  int main() {  GPIO_InitTypeDef GPIO_InitStructure;  //HAL_Init();     /* GPIO Ports Clock Enable */   __GPIOD_CLK_ENABLE();  __GPIOA_CLK_ENABLE();    /* Configure PD11, PD10 in output pushpull mode to control DC Motor  /   GPIO_InitStructure.Pin = GPIO_PIN_10 | GPIO_PIN_11 ;  GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;  GPIO_InitStructure.Speed = GPIO_SPEED_LOW;  GPIO_InitStructure.Pull = GPIO_PULLDOWN;  HAL_GPIO_Init(GPIOD, &GPIO_InitStructure);     /* Configure PA1 in input mode for DC motor's direction*/  GPIO_InitStructure.Pin = GPIO_PIN_1;  GPIO_InitStructure.Mode = GPIO_MODE_INPUT;  GPIO_InitStructure.Pull = GPIO_NOPULL;  HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);    while (1)    if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_1)){   HAL_GPIO_WritePin(GPIOD, GPIO_PIN_11,GPIO_PIN_SET);   HAL_GPIO_WritePin(GPIOD, GPIO_PIN_10,GPIO_PIN_RESET);  }  else   {   HAL_GPIO_WritePin(GPIOD, GPIO_PIN_11,GPIO_PIN_RESET);   HAL_GPIO_WritePin(GPIOD, GPIO_PIN_10,GPIO_PIN_SET);  }} | 
Have Fun
    3 - STM32 Tutoriel #3 (Toggle Leds Using Mikro C for ARM)  
CODE IS HERE :
| // Let's Electronic By Aymen Lachkhem unsigned int oldstate;  void main() {    GPIO_Digital_Input(&GPIOA_IDR, _GPIO_PINMASK_0);         // Set PA0 as digital input   GPIO_Digital_Output(&GPIOD_ODR, _GPIO_PINMASK_ALL);      // Set PORTD as digital output   oldstate = 0;    do {     if (Button(&GPIOA_IDR, 0, 1, 1))                      // detect logical one on PA0 pin       oldstate = 1;     if (oldstate && Button(&GPIOA_IDR, 0, 1, 0)) {        // detect one-to-zero transition on PA0 pin       GPIOD_ODR = ~GPIOD_ODR;                             // invert PORTD value       oldstate = 0;     }   } while(1);                                             // endless loop }  | 
Have Fun
3
 
No comments:
Post a Comment