Bonjour,
Je suis entrain de coder un PWM sur un processeur MSP430F5528. J’incrémente de 1 le duty cycle dans une boucle passant de 1% à 100%.
Le probleme est que je veux le le PWM s'execute une seul fois et que à la fin le signale ce mette à zero.
Je ferai ensuite une fonction qui lancera un PWM de 0 à 100 et une autre de 100 à 0.
voici mon code actuelle:
j'utilise le logiciel IAR Embedded Workbench IDE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #include "msp430F5528.h" int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; UCSCTL4 = SELS__DCOCLK ; P1DIR |= BIT2; // P1.2 to output P1SEL |= BIT2; // P1.2 to TA0.1 TA0CTL = TASSEL_2 + MC_1; // clock, up mode TA0CCR0 = 100; // PWM Period TA0CCTL1 = OUTMOD_7; // CCR1 reset/set TA0CCR1 = 1; while(TA0CCR0 != 0){ TA0CCTL1 = OUTMOD_7; // CCR1 reset/set TA0CCR1 = TA0CCR1 + 2; if(TA0CCR1 == 100){ TA0CTL = TASSEL_2 + MC_0; } } }
merci de l'aide
NI3
Partager