Transférer les fichiers vers ''
This commit is contained in:
parent
15cdcee56f
commit
bc7ea29ed6
5 changed files with 301 additions and 185 deletions
78
Affichage_Valise.h
Normal file
78
Affichage_Valise.h
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
|
||||||
|
/* Fichier devant contenir l'ensemble de fichiers utiles pour le projet LaserQuest
|
||||||
|
et qui concenent l'affichage sur la valise */
|
||||||
|
/* mais non disponible en version source pour les étudiants. */
|
||||||
|
|
||||||
|
#ifndef _AFFICHAGE_VALISE_H__
|
||||||
|
#define _AFFICHAGE_VALISE_H__
|
||||||
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialise les périphériques nécessaires à l'affichage sur la Mallette
|
||||||
|
* et gère la cible active. S'utilise aussi avec les ùmodules affichages simple (pas de mallette)
|
||||||
|
* @note Utilise TIM1, PA5, PA6 pour les cibles, PC7 à PC9 pour SPI émulé
|
||||||
|
* utilise aussi une interruption sut TIM1, prio 8.
|
||||||
|
* @param none
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void Init_Affichage(void);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Prépare l'affichage 2 digit sur l'afficheur demandé
|
||||||
|
* @note Exemple : Prepare_Afficheur(2, 99);
|
||||||
|
* prépare l'affichage de la valeur 99 sur l'afficheur n°2
|
||||||
|
* L'action est différée à l'exécution de Mise_A_Jour_Afficheurs_LED()
|
||||||
|
* @param char Aff : de 1 à 4 ; char Valeur de 0 à 99
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void Prepare_Afficheur(char Aff, char Valeur);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Prepare_Set_Point_Unite(char Aff);
|
||||||
|
void Prepare_Clear_Point_Unite(char Aff);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Prépare l'allumage de la LED demandée
|
||||||
|
* @note Exemple : Prepare_Set_LED(LED_Cible_2);
|
||||||
|
* prépare l'allumage de la LED correspondant à la cible n°2
|
||||||
|
* L'action est différée à l'exécution de Mise_A_Jour_Afficheurs_LED()
|
||||||
|
* @param voir #define ci-dessous
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void Prepare_Set_LED(char LED);
|
||||||
|
void Prepare_Clear_LED(char LED);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Effectue l'action d'écriture dans le module d'affichage
|
||||||
|
* à partir de tout ce qui a été préparé auparavant.
|
||||||
|
* @note
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void Mise_A_Jour_Afficheurs_LED(void);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Spécifie le capteut actif, à savoir celui effectivement relié
|
||||||
|
* aux sorties disponibles sur la malette
|
||||||
|
* @note Exemple : Choix_Capteur(1)
|
||||||
|
* @param 1 à 4
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void Choix_Capteur(char Capteur);
|
||||||
|
// define utile pour la fonction Prepare_Set_LED et Prepare_Clear_LED
|
||||||
|
#define LED_LCD_R 5
|
||||||
|
#define LED_LCD_V 4
|
||||||
|
#define LED_Cible_4 3
|
||||||
|
#define LED_Cible_3 2
|
||||||
|
#define LED_Cible_2 1
|
||||||
|
#define LED_Cible_1 0
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
38
Signal.m
Normal file
38
Signal.m
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
clc
|
||||||
|
clear
|
||||||
|
|
||||||
|
N = input('Nombre d''échantilllons pour ce signal : ');
|
||||||
|
Frel = input('Fréquence normalisée (nombre de périodes dans la durée totale) : ');
|
||||||
|
Ph0 = input('Phase a l''origine (en degrés) : ');
|
||||||
|
Ph0 = Ph0 * pi / 180.0; % a present en radian
|
||||||
|
|
||||||
|
Ampl = 2048;
|
||||||
|
Offset = 2048;
|
||||||
|
%% Création du fichier .asm
|
||||||
|
|
||||||
|
fileID = fopen(['Signal.asm'], 'w');
|
||||||
|
fprintf(fileID,'\tAREA Signal, DATA, READONLY\n');
|
||||||
|
fprintf(fileID,'\texport LeSignal\n');
|
||||||
|
|
||||||
|
fprintf(fileID,'LeSignal\n');
|
||||||
|
|
||||||
|
for i = 1: N
|
||||||
|
% fonction a modifier en fonction des besoins
|
||||||
|
Sig(i) = Offset + Ampl * cos( 2*pi*Frel*(i-1)/N + Ph0 );
|
||||||
|
% arrondi
|
||||||
|
iSig = int16(Sig(i));
|
||||||
|
% bornage du signal similaire a la sortie brute de l'ADC 12 bits
|
||||||
|
if ( iSig < 0 )
|
||||||
|
iSig = 0;
|
||||||
|
end
|
||||||
|
if ( iSig > 4095 )
|
||||||
|
iSig = 4095;
|
||||||
|
end
|
||||||
|
|
||||||
|
fprintf(fileID,'\tDCW\t0x%04x\t; %2d %4d %7.5f\n',iSig, i-1, iSig, double(iSig) / 4096.0 );
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
fprintf(fileID,'\tEND\n');
|
||||||
|
fclose(fileID);
|
||||||
|
plot(Sig);
|
Loading…
Reference in a new issue