0% ont trouvé ce document utile (0 vote)
35 vues10 pages

TP2 Enoncé

enonce tp2 micro

Transféré par

M. Amin
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
35 vues10 pages

TP2 Enoncé

enonce tp2 micro

Transféré par

M. Amin
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ENISO TP2 PROGRAMMATIONS STM32F4 2016-2017

CREEZ UN DOSSIER C:\nom\STM32\TP2


1-Installations des logiciels
1) [Link]
2) STlinkV2.1(DRIVER USB).zip
3) [Link]
4) [Link]
5) [Link]
6) Virtual comport [Link]
7) [Link]

Organisez les logiciels sur le bureau comme ceci :

2-Configuration du logiciel STM32CubeMX:


-Lancez STM32CubeMX, puis menu->Help-> Install New LIB PUIS From Local

Choisissez le fichier STM32Cube_FW_F4_V1.[Link] de puis le dossier des logiciels

Et attendez la fin de l’installation

3-Création d’un projet STM32CubeMX


Créez un nouveau projet en suivant les étapes suivantes
4-Configuration des périphériques

5-AFFECTATIONS DES NOMS POUR LES PINS CAPTEURS ET ACTIONNEURS


ICI LES RESULATS DE LA CONFIGURATION PRECEDENTE

6-Configuration des horloges : Processeur 168Mhz et USB 48Mhz

7-Configuration du projet
8-Génération du code sous keil

Ou avec l’icon

Lancez le projet

9-COMPILATION DU PROJET SOUS KEIL


10-Configuration de la bibliothèque STM32F4-Discovery
Copiez les dossiers : Components et STM32F4-Discovery depuis le fichier compressé vers le projet keil

Ajoutez au projet les fichiers .c et les chemins des fichiers .h


AJOUTEZ LES lignes
#include "stm32f4_discovery.h"
#include "stm32f4_discovery_accelerometer.h"
#include "usbd_cdc_if.h"
DANS main.c

11-CONFIGURATION DE LA COMMUNICATION SERIE CDC


Ajouter la déclaration (uint16_t usr_rx_data_len;) dans le fichier usbd_cdc_if.c à ligne 91

11.1-Modifiez la fonction CDC_Receive_FS à la ligne 251

11.2-Modifiez le fichier usbd_cdc.h à la ligne 54 par


#define CDC_DATA_HS_MAX_PACKET_SIZE 64 /* Endpoint IN & OUT Packet size */

11.3-Modifier la fonction main.c


en copiant entre USER CODE BEGIN 0 …. USER CODE END 0 le code en gras
/* USER CODE BEGIN 0 */

int16_t pDataXYZ[3];
extern uint8_t UserTxBufferFS[];
extern uint8_t UserRxBufferFS[];
extern uint8_t usr_rx_data_len;
uint16_t cp=0;
void HAL_SYSTICK_Callback(void)
{
if( (GPIOA->IDR&0x0001)==1)
{
sprintf((char*)UserTxBufferFS,"Bonjour... PA0=1 \n");
CDC_Transmit_FS(UserTxBufferFS, strlen((char*)UserTxBufferFS));
while(GPIOA->IDR&0x0001);
}
}
/* USER CODE END 0 */

11.4-Compilez et charger le programme dans la carte


Vérifiez le port série

11.5-Testez la communication avec le logiciel Termite 3.2

12- COMMANDE D’UN ROBOT à 2 roues motrices et 4 capteurs


Complétez le tableau de commande ci-dessous

CAPTEURS ACTIONNEURS
ENTREES SORTIES
Cg Cd Ca MARCHE MG MD MARCHE
PA3 PA2 PA1 PA0 GPIOA->IDR &0x000F PD14 PD13 PD12 GPIOD->ODR |0x?000
x x x 0 0 0 0 0x0000 OFFLINE
0 0 0 1 1 1 1 0x3000 AVANT
0 0 1 1 ARRET
0 1 0 1 GAUCHE
0 1 1 1 ARRET
1 0 0 1 DROITE
1 0 1 1 ARRET
1 1 0 1 ARRET
1 1 1 1 ARRET

GPIOA->IDR (registre d’entrée du PORTA


32 …… 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
…. x x x x
On écrit GPIOA->IDR&0x000F pour lire l’état des bit [PA3,PA2,PA1,PA0]

GPIOD->ODR (registre de sortie du PORTD)


32 …… 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
…. x x x x
Pour modifier les bits [PD15, PD14, PD13, PD12] sans toucher aux restes des bits
On doit tout d’abord initialiser (à zéro) les bits [PD15, PD14, PD13, PD12] en écrivant
GPIOD->ODR = GPIOD->ODR&0x0FFF  GPIOD->ODR &= 0x0FFF, puis écrire la valeur souhaitée (exemple 3) en tapant
GPIOD->ODR=GPIOD->ODR|0x3FFF  GPIOD->ODR |= 0x3FFF

Donc le couplage des 2 lignes suivantes


GPIOD->ODR &= 0x0FFF
GPIOD->ODR |= 0x3FFF
Permettent d’avoir [PD15, PD14, PD13, PD12]=3 sans modifier les bits PD11,…,PD0
32 …… 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
…. 0 1 1 1 x x x x x x x x x x x x
13-Complétez le code qui permet la commande du robot

14-CONFIGURATION ET UTILISATION DE L’ACCELEROMETRE

COMPTE RENDU
DATE : TP2 PROGRAMMATIONS STM32 Nom Prénom :

Vous aimerez peut-être aussi