Objectif 1 ajout lib
This commit is contained in:
parent
d074a340d3
commit
861eb7e74f
5 changed files with 148 additions and 56 deletions
BIN
GASSP72/Manuel_utilisateur_GASSP72_v7.pdf
Normal file
BIN
GASSP72/Manuel_utilisateur_GASSP72_v7.pdf
Normal file
Binary file not shown.
115
GASSP72/gassp72.h
Normal file
115
GASSP72/gassp72.h
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
/**
|
||||||
|
* Bibliotheque GASSP 2013-02-15
|
||||||
|
*
|
||||||
|
* GPIO - ADC - Sequenceur - System Timer - PWM - 72 MHz
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
// STM32F10X_CL : pour le STM32F107 "Communication Line"
|
||||||
|
// STM32F10X_MD : pour le STM32F103 "Medium Density"
|
||||||
|
|
||||||
|
//#define STM32F10X_MD // 2019 fix for Keil 5.23
|
||||||
|
|
||||||
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
|
// horloge systeme (config statique a 72 MHz pour le STM32F103) ------------
|
||||||
|
void CLOCK_Configure(void);
|
||||||
|
|
||||||
|
// Timers 1, 2, 3, 4 -------------------------------------------------------
|
||||||
|
// la duree entre deux debordements successifs doit etre donnnee en periodes
|
||||||
|
// d'horloge CPU (typiquement 72 MHz)
|
||||||
|
void Timer_1234_Init_ff( TIM_TypeDef *Timer, u32 Duree_ticks );
|
||||||
|
|
||||||
|
// activation d'une fonction de traitement de l'interruption timer (callback)
|
||||||
|
void Active_IT_Debordement_Timer( TIM_TypeDef *Timer, char Prio, void (*IT_function)(void) );
|
||||||
|
|
||||||
|
// bloque le timer
|
||||||
|
#define Bloque_Timer(Timer) Timer->CR1=(Timer->CR1)&~(1<<0)
|
||||||
|
|
||||||
|
// Lance timer
|
||||||
|
#define Run_Timer(Timer) Timer->CR1=(Timer->CR1)|(1<<0)
|
||||||
|
|
||||||
|
// PWM (basee sur un des Timers 1, 2, 3, 4 ---------------------------------
|
||||||
|
// la periode doit etre donnee en periodes d'horloge CPU (typiquement 72 MHz)
|
||||||
|
// la fonction rend la pleine echelle ou resolution, c'est a dire la plage
|
||||||
|
// de valeurs acceptees pour moduler la largeur d'impulsion
|
||||||
|
vu16 PWM_Init_ff( TIM_TypeDef *Timer, char Voie, u32 Periode_ticks );
|
||||||
|
|
||||||
|
// Timer systeme "SysTick" -------------------------------------------------
|
||||||
|
|
||||||
|
// la periode doit etre donnee en periodes d'horloge CPU (typiquement 72 MHz)
|
||||||
|
void Systick_Period_ff( unsigned int Periode_ticks );
|
||||||
|
|
||||||
|
// activation d'une fonction de traitement de l'interruption timer (callback)
|
||||||
|
void Systick_Prio_IT( char Prio, void (*Systick_function)(void) );
|
||||||
|
|
||||||
|
#define SysTick_On ((SysTick->CTRL)=(SysTick->CTRL)|1<<0)
|
||||||
|
#define SysTick_Off ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<0))
|
||||||
|
#define SysTick_Enable_IT ((SysTick->CTRL)=(SysTick->CTRL)|1<<1)
|
||||||
|
#define SysTick_Disable_IT ((SysTick->CTRL)=(SysTick->CTRL)& ~(1<<1))
|
||||||
|
|
||||||
|
// ADC - DMA ---------------------------------------------------------------
|
||||||
|
// Analog-to-Digital Conversion, Direct Memory Access
|
||||||
|
|
||||||
|
// la duree d'echantillonnage doit etre donnee en periodes d'horloge CPU (typiquement 72 MHz)
|
||||||
|
// la fonction rend la duree totale de conversion (meme unites)
|
||||||
|
u32 Init_TimingADC_ActiveADC_ff( ADC_TypeDef * ADC, u32 Duree_Ech_ticks );
|
||||||
|
|
||||||
|
// choix d'un canal ADC unique
|
||||||
|
void Single_Channel_ADC( ADC_TypeDef * ADC, char Voie_ADC );
|
||||||
|
|
||||||
|
// la periode de repetition des acquisitions doit etre donnee en periodes d'horloge CPU
|
||||||
|
// Les sources de déclenchement possibles :
|
||||||
|
#define TIM1_CC1 0
|
||||||
|
#define TIM1_CC2 1
|
||||||
|
#define TIM1_CC3 2
|
||||||
|
#define TIM2_CC2 3
|
||||||
|
#define TIM4_CC4 5
|
||||||
|
void Init_Conversion_On_Trig_Timer_ff( ADC_TypeDef * ADC, char Source, u32 Periode_ticks );
|
||||||
|
|
||||||
|
// initialisation d'acquisition en mode DMA
|
||||||
|
// Ptr_Table_DMA doit pointer sur un espace memoire suffisant pour le nombre d'ech. demande
|
||||||
|
void Init_ADC1_DMA1( char Circ, vu16 *Ptr_Table_DMA );
|
||||||
|
|
||||||
|
|
||||||
|
// Lance une DMA sur le nombre de points spécifie. Les resultats seront stockes
|
||||||
|
// dans la zone de RAM écrite est indiquée lors de l'appel de la fonction Init_ADC1_DMA1
|
||||||
|
void Start_DMA1( u16 NbEchDMA );
|
||||||
|
|
||||||
|
// arret DMA
|
||||||
|
#define Stop_DMA1 DMA1_Channel1->CCR =(DMA1_Channel1->CCR) &~0x1;
|
||||||
|
|
||||||
|
// fonction d'attente (bloquante)
|
||||||
|
// la duree depend de la periode d'acquisition et du nombre d'echantillons
|
||||||
|
void Wait_On_End_Of_DMA1(void);
|
||||||
|
|
||||||
|
|
||||||
|
// GPIO --------------------------------------------------------------------
|
||||||
|
|
||||||
|
// Sens
|
||||||
|
#define INPUT 'i'
|
||||||
|
#define OUTPUT 'o'
|
||||||
|
|
||||||
|
// Techno pour pin en entrée (INPUT)
|
||||||
|
#define ANALOG 0
|
||||||
|
#define INPUT_FLOATING 1
|
||||||
|
#define INPUT_PULL_DOWN_UP 2
|
||||||
|
|
||||||
|
// Techno pour pin en sortie (OUTPUT)
|
||||||
|
#define OUTPUT_PPULL 0
|
||||||
|
#define OUTPUT_OPDRAIN 1
|
||||||
|
#define ALT_PPULL 2
|
||||||
|
#define ALT_OPDRAIN 3
|
||||||
|
|
||||||
|
// La fonction initialise n'importe quelle broche de port (entrée, sortie, techno....)
|
||||||
|
// Exemple :
|
||||||
|
// Port_IO_Init(GPIOB, 8, OUTPUT, OUTPUT_PPULL);
|
||||||
|
// Place le bit 8 du port B en sortie Push-pull
|
||||||
|
// Renvoie 0 si tout est OK, et 1 s'il y a un problème (plage d'entrée non respectée)
|
||||||
|
char GPIO_Configure(GPIO_TypeDef * Port, int Broche, int Sens, int Techno);
|
||||||
|
|
||||||
|
// Spécifier le numéro de broche (0 à 15)
|
||||||
|
// exemple : Port_IO_Set(GPIOB,8);
|
||||||
|
#define GPIO_Set(GPIO,Broche) GPIO->BSRR=(0x01<<Broche)
|
||||||
|
|
||||||
|
#define GPIO_Clear(GPIO,Broche) GPIO->BRR=(0x01<<Broche)
|
BIN
GASSP72/gassp72.lib
Normal file
BIN
GASSP72/gassp72.lib
Normal file
Binary file not shown.
|
@ -153,40 +153,7 @@
|
||||||
<Name>-U066CFF574857847167074929 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
|
<Name>-U066CFF574857847167074929 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
</TargetDriverDllRegistry>
|
</TargetDriverDllRegistry>
|
||||||
<Breakpoint>
|
<Breakpoint/>
|
||||||
<Bp>
|
|
||||||
<Number>0</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>59</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134218250</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>.\Src\calcul_dft.s</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\CHTI\Src/calcul_dft.s\59</Expression>
|
|
||||||
</Bp>
|
|
||||||
<Bp>
|
|
||||||
<Number>1</Number>
|
|
||||||
<Type>0</Type>
|
|
||||||
<LineNumber>28</LineNumber>
|
|
||||||
<EnabledFlag>1</EnabledFlag>
|
|
||||||
<Address>134218196</Address>
|
|
||||||
<ByteObject>0</ByteObject>
|
|
||||||
<HtxType>0</HtxType>
|
|
||||||
<ManyObjects>0</ManyObjects>
|
|
||||||
<SizeOfObject>0</SizeOfObject>
|
|
||||||
<BreakByAccess>0</BreakByAccess>
|
|
||||||
<BreakIfRCount>1</BreakIfRCount>
|
|
||||||
<Filename>.\Src\calcul_dft.s</Filename>
|
|
||||||
<ExecCommand></ExecCommand>
|
|
||||||
<Expression>\\CHTI\Src/calcul_dft.s\28</Expression>
|
|
||||||
</Bp>
|
|
||||||
</Breakpoint>
|
|
||||||
<WatchWindow1>
|
<WatchWindow1>
|
||||||
<Ww>
|
<Ww>
|
||||||
<count>0</count>
|
<count>0</count>
|
||||||
|
@ -198,12 +165,22 @@
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<ItemText>res_dft</ItemText>
|
<ItemText>res_dft</ItemText>
|
||||||
</Ww>
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>2</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>compteurs</ItemText>
|
||||||
|
</Ww>
|
||||||
|
<Ww>
|
||||||
|
<count>3</count>
|
||||||
|
<WinNumber>1</WinNumber>
|
||||||
|
<ItemText>scores</ItemText>
|
||||||
|
</Ww>
|
||||||
</WatchWindow1>
|
</WatchWindow1>
|
||||||
<MemoryWindow1>
|
<MemoryWindow1>
|
||||||
<Mm>
|
<Mm>
|
||||||
<WinNumber>1</WinNumber>
|
<WinNumber>1</WinNumber>
|
||||||
<SubType>10</SubType>
|
<SubType>10</SubType>
|
||||||
<ItemText>0x08001F30</ItemText>
|
<ItemText>0x20000250</ItemText>
|
||||||
<AccSizeX>0</AccSizeX>
|
<AccSizeX>0</AccSizeX>
|
||||||
</Mm>
|
</Mm>
|
||||||
</MemoryWindow1>
|
</MemoryWindow1>
|
||||||
|
@ -227,7 +204,7 @@
|
||||||
<AscS3>0</AscS3>
|
<AscS3>0</AscS3>
|
||||||
<aSer3>0</aSer3>
|
<aSer3>0</aSer3>
|
||||||
<eProf>0</eProf>
|
<eProf>0</eProf>
|
||||||
<aLa>0</aLa>
|
<aLa>1</aLa>
|
||||||
<aPa1>0</aPa1>
|
<aPa1>0</aPa1>
|
||||||
<AscS4>0</AscS4>
|
<AscS4>0</AscS4>
|
||||||
<aSer4>0</aSer4>
|
<aSer4>0</aSer4>
|
||||||
|
@ -253,7 +230,7 @@
|
||||||
<Wi>
|
<Wi>
|
||||||
<IntNumber>0</IntNumber>
|
<IntNumber>0</IntNumber>
|
||||||
<FirstString>((portb & 0x00000002) >> 1 & 0x2) >> 1</FirstString>
|
<FirstString>((portb & 0x00000002) >> 1 & 0x2) >> 1</FirstString>
|
||||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1000000000000000000000000000000000000000941E0008</SecondString>
|
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1200000000000000000000000000000000000000941E0008</SecondString>
|
||||||
</Wi>
|
</Wi>
|
||||||
</LogicAnalyzers>
|
</LogicAnalyzers>
|
||||||
<DebugDescription>
|
<DebugDescription>
|
||||||
|
@ -327,18 +304,6 @@
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>4</FileNumber>
|
<FileNumber>4</FileNumber>
|
||||||
<FileType>4</FileType>
|
|
||||||
<tvExp>0</tvExp>
|
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
|
||||||
<bDave2>0</bDave2>
|
|
||||||
<PathWithFileName>..\GASSP72\gassp72.lib</PathWithFileName>
|
|
||||||
<FilenameWithoutPath>gassp72.lib</FilenameWithoutPath>
|
|
||||||
<RteFlg>0</RteFlg>
|
|
||||||
<bShared>0</bShared>
|
|
||||||
</File>
|
|
||||||
<File>
|
|
||||||
<GroupNumber>3</GroupNumber>
|
|
||||||
<FileNumber>5</FileNumber>
|
|
||||||
<FileType>2</FileType>
|
<FileType>2</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -350,7 +315,7 @@
|
||||||
</File>
|
</File>
|
||||||
<File>
|
<File>
|
||||||
<GroupNumber>3</GroupNumber>
|
<GroupNumber>3</GroupNumber>
|
||||||
<FileNumber>6</FileNumber>
|
<FileNumber>5</FileNumber>
|
||||||
<FileType>2</FileType>
|
<FileType>2</FileType>
|
||||||
<tvExp>0</tvExp>
|
<tvExp>0</tvExp>
|
||||||
<tvExpOptDlg>0</tvExpOptDlg>
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
@ -360,6 +325,18 @@
|
||||||
<RteFlg>0</RteFlg>
|
<RteFlg>0</RteFlg>
|
||||||
<bShared>0</bShared>
|
<bShared>0</bShared>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<GroupNumber>3</GroupNumber>
|
||||||
|
<FileNumber>6</FileNumber>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<tvExp>0</tvExp>
|
||||||
|
<tvExpOptDlg>0</tvExpOptDlg>
|
||||||
|
<bDave2>0</bDave2>
|
||||||
|
<PathWithFileName>.\GASSP72\gassp72.h</PathWithFileName>
|
||||||
|
<FilenameWithoutPath>gassp72.h</FilenameWithoutPath>
|
||||||
|
<RteFlg>0</RteFlg>
|
||||||
|
<bShared>0</bShared>
|
||||||
|
</File>
|
||||||
</Group>
|
</Group>
|
||||||
|
|
||||||
<Group>
|
<Group>
|
||||||
|
|
|
@ -338,7 +338,7 @@
|
||||||
<MiscControls>--C99</MiscControls>
|
<MiscControls>--C99</MiscControls>
|
||||||
<Define>STM32F103xB,USE_FULL_LL_DRIVER</Define>
|
<Define>STM32F103xB,USE_FULL_LL_DRIVER</Define>
|
||||||
<Undefine></Undefine>
|
<Undefine></Undefine>
|
||||||
<IncludePath>..\GASSP72</IncludePath>
|
<IncludePath>./GASSP72</IncludePath>
|
||||||
</VariousControls>
|
</VariousControls>
|
||||||
</Cads>
|
</Cads>
|
||||||
<Aads>
|
<Aads>
|
||||||
|
@ -407,11 +407,6 @@
|
||||||
<Group>
|
<Group>
|
||||||
<GroupName>Driver</GroupName>
|
<GroupName>Driver</GroupName>
|
||||||
<Files>
|
<Files>
|
||||||
<File>
|
|
||||||
<FileName>gassp72.lib</FileName>
|
|
||||||
<FileType>4</FileType>
|
|
||||||
<FilePath>..\GASSP72\gassp72.lib</FilePath>
|
|
||||||
</File>
|
|
||||||
<File>
|
<File>
|
||||||
<FileName>table_sin_cos.s</FileName>
|
<FileName>table_sin_cos.s</FileName>
|
||||||
<FileType>2</FileType>
|
<FileType>2</FileType>
|
||||||
|
@ -422,6 +417,11 @@
|
||||||
<FileType>2</FileType>
|
<FileType>2</FileType>
|
||||||
<FilePath>.\Src\signal.s</FilePath>
|
<FilePath>.\Src\signal.s</FilePath>
|
||||||
</File>
|
</File>
|
||||||
|
<File>
|
||||||
|
<FileName>gassp72.h</FileName>
|
||||||
|
<FileType>5</FileType>
|
||||||
|
<FilePath>.\GASSP72\gassp72.h</FilePath>
|
||||||
|
</File>
|
||||||
</Files>
|
</Files>
|
||||||
</Group>
|
</Group>
|
||||||
<Group>
|
<Group>
|
||||||
|
|
Loading…
Reference in a new issue