Objectif 1 ajout lib
Esse commit está contido em:
pai
d074a340d3
commit
861eb7e74f
5 arquivos alterados com 148 adições e 56 exclusões
BIN
GASSP72/Manuel_utilisateur_GASSP72_v7.pdf
Arquivo normal
BIN
GASSP72/Manuel_utilisateur_GASSP72_v7.pdf
Arquivo normal
Arquivo binário não exibido.
115
GASSP72/gassp72.h
Arquivo normal
115
GASSP72/gassp72.h
Arquivo normal
|
@ -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
Arquivo normal
BIN
GASSP72/gassp72.lib
Arquivo normal
Arquivo binário não exibido.
|
@ -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>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<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>
|
||||
<Breakpoint/>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
|
@ -198,12 +165,22 @@
|
|||
<WinNumber>1</WinNumber>
|
||||
<ItemText>res_dft</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>2</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>compteurs</ItemText>
|
||||
</Ww>
|
||||
<Ww>
|
||||
<count>3</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>scores</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>10</SubType>
|
||||
<ItemText>0x08001F30</ItemText>
|
||||
<ItemText>0x20000250</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
|
@ -227,7 +204,7 @@
|
|||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aLa>1</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
|
@ -253,7 +230,7 @@
|
|||
<Wi>
|
||||
<IntNumber>0</IntNumber>
|
||||
<FirstString>((portb & 0x00000002) >> 1 & 0x2) >> 1</FirstString>
|
||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1000000000000000000000000000000000000000941E0008</SecondString>
|
||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274622026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1200000000000000000000000000000000000000941E0008</SecondString>
|
||||
</Wi>
|
||||
</LogicAnalyzers>
|
||||
<DebugDescription>
|
||||
|
@ -327,18 +304,6 @@
|
|||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<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>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -350,7 +315,7 @@
|
|||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>2</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
|
@ -360,6 +325,18 @@
|
|||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</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>
|
||||
|
|
|
@ -338,7 +338,7 @@
|
|||
<MiscControls>--C99</MiscControls>
|
||||
<Define>STM32F103xB,USE_FULL_LL_DRIVER</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>..\GASSP72</IncludePath>
|
||||
<IncludePath>./GASSP72</IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
|
@ -407,11 +407,6 @@
|
|||
<Group>
|
||||
<GroupName>Driver</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>gassp72.lib</FileName>
|
||||
<FileType>4</FileType>
|
||||
<FilePath>..\GASSP72\gassp72.lib</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>table_sin_cos.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
|
@ -422,6 +417,11 @@
|
|||
<FileType>2</FileType>
|
||||
<FilePath>.\Src\signal.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>gassp72.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>.\GASSP72\gassp72.h</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
|
Carregando…
Referência em uma nova issue