parametrage projet et variables pour obj3

This commit is contained in:
Yohan Simard 2020-05-11 12:25:23 +02:00
parent 7df48c38d7
commit 96e0a2f56d
3 changed files with 6131 additions and 11 deletions

View file

@ -200,7 +200,7 @@
<Wi> <Wi>
<IntNumber>0</IntNumber> <IntNumber>0</IntNumber>
<FirstString>((portb &amp; 0x00000002) &gt;&gt; 1 &amp; 0x2) &gt;&gt; 1</FirstString> <FirstString>((portb &amp; 0x00000002) &gt;&gt; 1 &amp; 0x2) &gt;&gt; 1</FirstString>
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F0900000000000000000000000000000000000000401E0008</SecondString> <SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F0700000000000000000000000000000000000000401E0008</SecondString>
</Wi> </Wi>
</LogicAnalyzers> </LogicAnalyzers>
<DebugDescription> <DebugDescription>
@ -235,7 +235,7 @@
<GroupNumber>1</GroupNumber> <GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber> <FileNumber>2</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>1</tvExp> <tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\Src\principal.c</PathWithFileName> <PathWithFileName>.\Src\principal.c</PathWithFileName>

File diff suppressed because it is too large Load diff

View file

@ -1,21 +1,44 @@
#include "gassp72.h" #include "gassp72.h"
int periode_en_tck = 100; typedef struct {
int position; // index courant dans le tableau d'echantillons
int taille; // nombre d'echantillons de l'enregistrement
short int * son; // adresse de base du tableau d'echantillons en ROM
int resolution; // pleine echelle du modulateur PWM
int Tech_en_Tck; // periode d'ech. audio en periodes d'horloge CPU
} type_etat;
int current_value = 0; // Variables définie en asm
extern short Son;
extern int LongueurSon;
extern int PeriodeSonMicroSec;
type_etat etat;
int Periode_PWM_en_Tck = 1633;
int Periode_ech_en_Tck = 6532;
void timer_callback(void); void timer_callback(void);
int main(void) { int main(void) {
// activation de la PLL qui multiplie la fréquence du quartz par 9 // activation de la PLL qui multiplie la fréquence du quartz par 9
CLOCK_Configure(); CLOCK_Configure();
// config port PB1 pour être utilisé en sortie
GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL); // config port PB0 pour être utilisé par TIM3-CH3
GPIO_Configure(GPIOB, 0, OUTPUT, ALT_PPULL);
// config TIM3-CH3 en mode PWM
etat.resolution = PWM_Init_ff( TIM3, 3, Periode_PWM_en_Tck );
etat.taille = LongueurSon;
etat.son = &Son;
etat.position = 0;
// initialisation du timer 4 // initialisation du timer 4
// Periode_en_Tck doit fournir la durée entre interruptions, // Periode_en_Tck doit fournir la durée entre interruptions,
// exprimée en périodes Tck de l'horloge principale du STM32 (72 MHz) // exprimée en périodes Tck de l'horloge principale du STM32 (72 MHz)
Timer_1234_Init_ff( TIM4, periode_en_tck ); Timer_1234_Init_ff( TIM4, Periode_ech_en_Tck );
// enregistrement de la fonction de traitement de l'interruption timer // enregistrement de la fonction de traitement de l'interruption timer
// ici le 2 est la priorité, timer_callback est l'adresse de cette fonction, a créér en asm, // ici le 2 est la priorité, timer_callback est l'adresse de cette fonction, a créér en asm,
// cette fonction doit être conforme à l'AAPCS // cette fonction doit être conforme à l'AAPCS