Search for notes by fellow students, in your own course and all over the country.
Browse our notes for titles which look like what you need, you can preview any of the notes via a sample of the contents. After you're happy these are the notes you're after simply pop them into your shopping cart.
Title: STM32F3Discovery: Presentation et exemples
Description: Presentation du Hardware et du Software utilises et quelques exemples pour la prise en main de la STM32F3Discovery
Description: Presentation du Hardware et du Software utilises et quelques exemples pour la prise en main de la STM32F3Discovery
Document Preview
Extracts from the notes are below, to see the PDF you'll receive please use the links above
STM32F3Discovery
1
Présentation du matériel
I-Hardware
Le STM32F3DISCOVERY permet aux utilisateurs de développer facilement des applications
avec la série STM32F3 basée sur le microcontrôleur ARM® Cortex®-M4mixed-signal
...
0)
• ST-LINK/V2 MCU (STM32F103)
• 5V to 3V Regulator (USB power)
• CN4 – MCU Program Jumper
• CN3 – Application SWD connector
• LD1: Power indicator
• LD2: ST-LINK Communication indicator
• LD3 → LD10 (PE8 → PE15)
• B1: USER/Wake-up (PA0)
• B2: RESET (NRST)
• P1 and P2(Includes 5V, 3V and GND pins) :
GPIO (General purpose input output)
SPI
I2C
ADC/DAC
UART
• U3 : LSM303DLHC
• U5 : L3GD20
• JP3: USART1 TX and RX (not fitted, reserved function)
• JP4: IDD for MCU current measurement (fitted by default)
3
II-Software
Il existe une variété de compilateurs et d’environnement de développements libre d’utilisation
plus ou moins limité qui permet aux utilisateurs de tous les niveaux de coder avec différents languages
et architectures (BMR1, HAL2, C, C++…)
...
L'objectif de ce site est de créer un centre de
connaissance pour tous ceux qui sont intéressés à construire des systèmes embarqués STM32 pour
participer et collaborer ensemble
...
Il se compose d'un ensemble de plug-ins
Eclipse et peut être utiliser dans différentes plateforme (Windows (Windows, MacOS/X ou Linux)
...
Pour déboguer un programme il faut suivre les étapes suivantes :
Run -> run configurations -> Ac6 stm32 Debugging (double clic) ->Debug/nom_du_projet
...
8V à 2V (1mA à 20mA)
LED verte standard (vert clair) : 1
...
2V (1mA à 20mA)
LED bleu : 3
...
9V (1mA à 20mA)
Les niveaux des tensions en sortie : 0V / 3
...
7
Signal carré de fréquence 100Hz
1
...
3
...
5
...
7
...
9
...
11
...
13
...
15
...
/**
******************************************************************************************
* @file
main
...
0
* @date
30-Novembre-2016
* @brief
Signal carre de frequence 100Hz visualise avec l'oscilloscope et LED externe
...
h>
#include
h>
// exemple qui fait clignoter la led clignote avec une frequence de 100Hz (sortie port C pin1 3
...
18
...
20
...
22
...
24
...
26
...
28
...
30
...
32
...
34
...
36
...
38
...
40
...
42
...
44
...
GPIO_Mode = GPIO_Mode_OUT;
gpio
...
2
...
4
...
6
...
8
...
10
...
12
...
14
...
c
* @author AGGOUR and ABAZID
* @version V2
...
*******************************************************************************************
*/
#include
h>
#include
16
...
{
18
...
GPIO_InitTypeDef gpio;
20
...
// Configure port E (LED)
22
...
GPIO_StructInit( &gpio );
24
...
GPIO_Mode = GPIO_Mode_OUT;
25
...
GPIO_Pin = LEDS[i];
26
...
}
28
...
while(1)
30
...
for(int j=0;j<8;j++){
32
...
GPIO_SetBits( GPIOE, LEDS[j] );
34
...
// All off
36
...
for( i = 0; i < 500000; i++ );
38
...
}
40
...
2
...
4
...
6
...
8
...
10
...
12
...
14
...
c
* @author AGGOUR and ABAZID
* @version V1
...
*******************************************************************************************
*/
#include
h>
#include
#define BUTTON GPIO_Pin_0
16
...
//main avec bouton user qui commande le chenillard
18
...
{
20
...
int j=0;
22
...
24
...
RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOE, ENABLE );
26
...
//---------------------------------------------------//
28
...
GPIO_StructInit( &gpio );
30
...
GPIO_Mode = GPIO_Mode_IN;
31
...
GPIO_Pin = BUTTON;
32
...
34
...
// Port E - LEDS
36
...
GPIO_StructInit( &gpio );
38
...
GPIO_Mode = GPIO_Mode_OUT;
39
...
GPIO_Pin = LEDS[i];
40
...
}
42
...
while(1)
44
...
// The Schmitt trigger filters input signal
...
// We have no problems with contact bouncing
...
//-----------------------------------------48
...
if(j==8)j=0;
50
...
if( GPIO_ReadInputDataBit(GPIOA, BUTTON) )
52
...
GPIO_SetBits( GPIOE, LEDS[j] );
54
...
else GPIO_ResetBits( GPIOE, LEDS[7]);
56
...
}
58
...
}
10
2) Programmation directe du MicroControlleur
͏ Les registres du GPIO
L’utilisation d’un port GPIO en programmation directe consiste exige la configuration de plusieurs registres,
ceux que nous avons utilisé pendant le TP :
a
...
15)
Description
Bit(1)
Bit(0)
0
0
Input mode (reset state)
0
1
General purpose output mode
1
0
Alternate function mode
1
1
Analog mode
b
...
15)
Description
Bit(0)
0
Output push-pull (reset state)
1
Output open-drain
c
...
15)
Description
Bit(1)
Bit(0)
x
0
Low speed(2MHz)
0
1
Medium speed(10MHz)
1
1
High speed(50MHz)
d
...
15)
Description
Bit(1)
Bit(0)
0
0
No pull-up, pull-down
0
1
Pull-up
1
0
Pull-down
1
1
Reserved
e
...
15)
Bit(0)
0
GND
1
VDD
Description
11
͏ Le Timer
Le STM32F303VCT6 dispose d’une variété de Timers qui ont la même architecture et servent à des fins
différentes
...
Le SysTick est un timer qui se trouve dans le Bus principale AHB (profite des 72MHz) et qui peut utiliser l’horloge
interne ou externe
...
c
...
2
...
4
...
6
...
8
...
10
...
12
...
14
...
16
...
18
...
20
...
22
...
24
...
26
...
28
...
30
...
32
...
34
...
36
...
38
...
40
...
c
* @author AGGOUR and ABAZID
* @version V1
...
*******************************************************************************************
*/
#include
2
...
4
...
6
...
8
...
10
...
12
...
14
...
16
...
18
...
20
...
22
...
24
...
26
...
28
...
30
...
32
...
34
...
36
...
38
...
40
...
42
...
44
...
46
...
48
...
50
...
52
...
54
...
56
...
58
...
60
...
62
...
64
...
66
...
/**
******************************************************************************************
* @file
main
...
0
* @date
12-December-2016
* @brief
clignotement de deux LED a deux frequences differentes (2Hz et 0
...
*******************************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "main
...
9Hz
STM_EVAL_LEDToggle(LED4);
}
}
}
void Delay1(__IO uint32_t nTime){
TimingDelay1 = nTime;
}
void Delay2(__IO uint32_t nTime){
TimingDelay2 = nTime;
}
void TimingDelay_Decrement(void)
{
if (TimingDelay1 != 0x00)
{
TimingDelay1--;
}
if (TimingDelay2 != 0x00)
{
TimingDelay2--;
}
}
15
Title: STM32F3Discovery: Presentation et exemples
Description: Presentation du Hardware et du Software utilises et quelques exemples pour la prise en main de la STM32F3Discovery
Description: Presentation du Hardware et du Software utilises et quelques exemples pour la prise en main de la STM32F3Discovery