PWM Done
This commit is contained in:
parent
73d9e8fdb2
commit
f22d8aacd9
4 changed files with 20 additions and 17 deletions
|
@ -14,7 +14,7 @@ typedef struct
|
||||||
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
|
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
|
||||||
void MyTimer_Base_Start(TIM_TypeDef * Timer);
|
void MyTimer_Base_Start(TIM_TypeDef * Timer);
|
||||||
void MyTimer_Base_Stop(TIM_TypeDef * Timer);
|
void MyTimer_Base_Stop(TIM_TypeDef * Timer);
|
||||||
|
void MyTimer_PWM( MyTimer_Struct_TypeDef * Timer, uint16_t cycle);
|
||||||
|
|
||||||
/*#define MyTimer_Base_Start(Timer)
|
/*#define MyTimer_Base_Start(Timer)
|
||||||
#define MyTimer_Base_Stop(Timer)
|
#define MyTimer_Base_Stop(Timer)
|
||||||
|
|
|
@ -36,3 +36,11 @@ void MyTimer_Base_Stop(TIM_TypeDef * Timer){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MyTimer_PWM( MyTimer_Struct_TypeDef * Timer, uint16_t cycle){
|
||||||
|
Timer->Timer->CCMR1 &= ~TIM_CCMR1_OC1M_0; //Configuration du canal CH1
|
||||||
|
Timer->Timer->CCMR1 |= TIM_CCMR1_OC1M_1| TIM_CCMR1_OC1M_2; // Ajouter 110 aux bits OC1M (registre CCMR1)
|
||||||
|
|
||||||
|
Timer->Timer->CCER |= TIM_CCER_CC1E; // Canal CH1 validé par bit CC1E (registre CCER)
|
||||||
|
Timer->Timer->CR1 |= TIM_CR1_CEN; // Lancement du timer
|
||||||
|
Timer->Timer->CCR1 = (cycle * Timer->ARR) / 100; // Fixer la durée à 20%
|
||||||
|
}
|
||||||
|
|
|
@ -125,7 +125,7 @@
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
<Key>DLGDARM</Key>
|
<Key>DLGDARM</Key>
|
||||||
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=297,604,718,1031,0)(121=-1,-1,-1,-1,0)(122=546,289,967,716,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=997,343,1591,1094,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
|
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=297,604,718,1031,0)(121=-1,-1,-1,-1,0)(122=546,289,967,716,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=911,135,1505,886,0)(131=997,343,1591,1094,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)</Name>
|
||||||
</SetRegEntry>
|
</SetRegEntry>
|
||||||
<SetRegEntry>
|
<SetRegEntry>
|
||||||
<Number>0</Number>
|
<Number>0</Number>
|
||||||
|
@ -150,7 +150,7 @@
|
||||||
<DebugFlag>
|
<DebugFlag>
|
||||||
<trace>0</trace>
|
<trace>0</trace>
|
||||||
<periodic>1</periodic>
|
<periodic>1</periodic>
|
||||||
<aLwin>1</aLwin>
|
<aLwin>0</aLwin>
|
||||||
<aCover>0</aCover>
|
<aCover>0</aCover>
|
||||||
<aSer1>0</aSer1>
|
<aSer1>0</aSer1>
|
||||||
<aSer2>0</aSer2>
|
<aSer2>0</aSer2>
|
||||||
|
@ -158,13 +158,13 @@
|
||||||
<viewmode>1</viewmode>
|
<viewmode>1</viewmode>
|
||||||
<vrSel>0</vrSel>
|
<vrSel>0</vrSel>
|
||||||
<aSym>0</aSym>
|
<aSym>0</aSym>
|
||||||
<aTbox>1</aTbox>
|
<aTbox>0</aTbox>
|
||||||
<AscS1>0</AscS1>
|
<AscS1>0</AscS1>
|
||||||
<AscS2>0</AscS2>
|
<AscS2>0</AscS2>
|
||||||
<AscS3>0</AscS3>
|
<AscS3>0</AscS3>
|
||||||
<aSer3>0</aSer3>
|
<aSer3>0</aSer3>
|
||||||
<eProf>0</eProf>
|
<eProf>0</eProf>
|
||||||
<aLa>1</aLa>
|
<aLa>0</aLa>
|
||||||
<aPa1>0</aPa1>
|
<aPa1>0</aPa1>
|
||||||
<AscS4>0</AscS4>
|
<AscS4>0</AscS4>
|
||||||
<aSer4>0</aSer4>
|
<aSer4>0</aSer4>
|
||||||
|
@ -193,12 +193,6 @@
|
||||||
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254412026203078303030303030323029203E3E2035000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1700000000000000000000000000000000000000DA040008</SecondString>
|
<SecondString>FF000000000000000000000000000000E0FFEF400100000000000000000000000000000028504F5254412026203078303030303030323029203E3E2035000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000F03F1700000000000000000000000000000000000000DA040008</SecondString>
|
||||||
</Wi>
|
</Wi>
|
||||||
</LogicAnalyzers>
|
</LogicAnalyzers>
|
||||||
<SystemViewers>
|
|
||||||
<Entry>
|
|
||||||
<Name>System Viewer\GPIOA</Name>
|
|
||||||
<WinId>35905</WinId>
|
|
||||||
</Entry>
|
|
||||||
</SystemViewers>
|
|
||||||
<DebugDescription>
|
<DebugDescription>
|
||||||
<Enable>1</Enable>
|
<Enable>1</Enable>
|
||||||
<EnableFlashSeq>0</EnableFlashSeq>
|
<EnableFlashSeq>0</EnableFlashSeq>
|
||||||
|
|
|
@ -21,20 +21,20 @@ int main (void){
|
||||||
MyGPIO_Init (&BP);
|
MyGPIO_Init (&BP);
|
||||||
//Init Timer 2 et Test
|
//Init Timer 2 et Test
|
||||||
TIM500ms.Timer = TIM2;
|
TIM500ms.Timer = TIM2;
|
||||||
TIM500ms.PSC = 0xD2F0; // =0.5ms(calculé à partir de la fréquence du micro)
|
TIM500ms.PSC = 7200; // =0.5ms(calculé à partir de la fréquence du micro)
|
||||||
TIM500ms.ARR = 1000;
|
TIM500ms.ARR = 5000;
|
||||||
MyTimer_Base_Init(&TIM500ms);
|
MyTimer_Base_Init(&TIM500ms);
|
||||||
|
|
||||||
|
/*
|
||||||
TIM2->DIER |= 1<< 0 ; //INTERRUPTION PERIPH
|
TIM2->DIER |= 1<< 0 ; //INTERRUPTION PERIPH
|
||||||
//TIM2->DIER |= TIM_DIER_UIE ;
|
//TIM2->DIER |= TIM_DIER_UIE ;
|
||||||
NVIC->ISER[0] |= 1<<TIM2_IRQn ; //INTERRUPTION COEUR
|
NVIC->ISER[0] |= 1<<TIM2_IRQn ; //INTERRUPTION COEUR
|
||||||
NVIC->IP[TIM2_IRQn] = 2<< 4 ;
|
NVIC->IP[TIM2_IRQn] = 2<< 4 ;
|
||||||
|
*/
|
||||||
MyTimer_Base_Start(TIM500ms.Timer);
|
MyTimer_Base_Start(TIM500ms.Timer);
|
||||||
//Boucle infinie de la réponse de la LED à l'état BP
|
//Boucle infinie de la réponse de la LED à l'état BP
|
||||||
|
|
||||||
|
MyTimer_PWM(&TIM500ms, 50);
|
||||||
|
|
||||||
while(1){
|
while(1){
|
||||||
// if (MyGPIO_Read(BP.GPIO,BP.GPIO_Pin)==0){
|
// if (MyGPIO_Read(BP.GPIO,BP.GPIO_Pin)==0){
|
||||||
|
@ -46,9 +46,10 @@ int main (void){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
void TIM2_IRQHandler (void)
|
void TIM2_IRQHandler (void)
|
||||||
{
|
{
|
||||||
MyGPIO_Toggle(GPIOA,5);
|
MyGPIO_Toggle(GPIOA,5);
|
||||||
TIM2->SR &= ~(1<<0);
|
TIM2->SR &= ~(1<<0);
|
||||||
}
|
}
|
||||||
|
*/
|
Loading…
Reference in a new issue