Header file for ePWM module.
More...
Go to the source code of this file.
Header file for ePWM module.
Definition in file epwm.h.
◆ ePWM_start()
Start ePWM signal on pin.
- Parameters
-
[in] | | 1) ePWM pin as Uint16 --> valid value: 0-11 |
- Returns
- Result of operations as int16
--> 0 = operation successful
--> -1 = invalid value of GPIO pin --> -6 = invalid value of dutycycle
Definition at line 80 of file epwm.c.
85 case 0: TMC_BASE_EPWM1->AQCSFRC &= ~(0x1);
86 TMC_BASE_EPWM1->CMPA = (
Uint16) (((
Uint32)TMC_BASE_EPWM1->TBPRD * (100-dutycycle)) / 100);
88 case 1: TMC_BASE_EPWM1->AQCSFRC &= ~(0x1 << 2);
89 TMC_BASE_EPWM1->CMPB = (
Uint16) (((
Uint32)TMC_BASE_EPWM1->TBPRD * (100-dutycycle)) / 100);
91 case 2: TMC_BASE_EPWM2->AQCSFRC &= ~(0x1);
92 TMC_BASE_EPWM2->CMPA = (
Uint16) (((
Uint32)TMC_BASE_EPWM2->TBPRD * (100-dutycycle)) / 100);
94 case 3: TMC_BASE_EPWM2->AQCSFRC &= ~(0x1 << 2);
95 TMC_BASE_EPWM2->CMPB = (
Uint16) (((
Uint32)TMC_BASE_EPWM2->TBPRD * (100-dutycycle)) / 100);
97 case 4: TMC_BASE_EPWM3->AQCSFRC &= ~(0x1);
98 TMC_BASE_EPWM3->CMPA = (
Uint16) (((
Uint32)TMC_BASE_EPWM3->TBPRD * (100-dutycycle)) / 100);
100 case 5: TMC_BASE_EPWM3->AQCSFRC &= ~(0x1 << 2);
101 TMC_BASE_EPWM3->CMPB = (
Uint16) (((
Uint32)TMC_BASE_EPWM3->TBPRD * (100-dutycycle)) / 100);
103 case 6: TMC_BASE_EPWM4->AQCSFRC &= ~(0x1);
104 TMC_BASE_EPWM4->CMPA = (
Uint16) (((
Uint32)TMC_BASE_EPWM4->TBPRD * (100-dutycycle)) / 100);
106 case 7: TMC_BASE_EPWM4->AQCSFRC &= ~(0x1 << 2);
107 TMC_BASE_EPWM4->CMPB = (
Uint16) (((
Uint32)TMC_BASE_EPWM4->TBPRD * (100-dutycycle)) / 100);
109 case 8: TMC_BASE_EPWM5->AQCSFRC &= ~(0x1);
110 TMC_BASE_EPWM5->CMPA =(
Uint16) (((
Uint32)TMC_BASE_EPWM5->TBPRD * (100-dutycycle)) / 100);
112 case 9: TMC_BASE_EPWM5->AQCSFRC &= ~(0x1 << 2);
113 TMC_BASE_EPWM5->CMPB = (
Uint16) (((
Uint32)TMC_BASE_EPWM5->TBPRD * (100-dutycycle)) / 100);
115 case 10: TMC_BASE_EPWM6->AQCSFRC &= ~(0x1);
116 TMC_BASE_EPWM6->CMPA = (
Uint16) (((
Uint32)TMC_BASE_EPWM6->TBPRD * (100-dutycycle)) / 100);
118 case 11: TMC_BASE_EPWM6->AQCSFRC &= ~(0x1 << 2);
119 TMC_BASE_EPWM6->CMPB = (
Uint16) (((
Uint32)TMC_BASE_EPWM6->TBPRD * (100-dutycycle)) / 100);
◆ ePWM_stop()
Stop ePWM signal on pin.
- Parameters
-
[in] | | 1) ePWM pin as Uint16 --> valid value: 0-11 |
- Returns
- Result of operations as int16
--> 0 = operation successful
--> -1 = invalid value of GPIO pin
Definition at line 133 of file epwm.c.
135 case 0: TMC_BASE_EPWM1->CMPA = TMC_BASE_EPWM1->TBPRD;
136 TMC_BASE_EPWM1->AQCSFRC |= 0x1;
138 case 1: TMC_BASE_EPWM1->CMPB = TMC_BASE_EPWM1->TBPRD;
139 TMC_BASE_EPWM1->AQCSFRC |= (0x1<<2);
141 case 2: TMC_BASE_EPWM2->CMPA = TMC_BASE_EPWM2->TBPRD;
142 TMC_BASE_EPWM2->AQCSFRC |= 0x1;
144 case 3: TMC_BASE_EPWM2->CMPB = TMC_BASE_EPWM2->TBPRD;
145 TMC_BASE_EPWM2->AQCSFRC |= (0x1<<2);
147 case 4: TMC_BASE_EPWM3->CMPA = TMC_BASE_EPWM3->TBPRD;
148 TMC_BASE_EPWM3->AQCSFRC |= 0x1;
150 case 5: TMC_BASE_EPWM3->CMPB = TMC_BASE_EPWM3->TBPRD;
151 TMC_BASE_EPWM3->AQCSFRC |= (0x1<<2);
153 case 6: TMC_BASE_EPWM4->CMPA = TMC_BASE_EPWM4->TBPRD;
154 TMC_BASE_EPWM4->AQCSFRC |= 0x1;
156 case 7: TMC_BASE_EPWM4->CMPB = TMC_BASE_EPWM4->TBPRD;
157 TMC_BASE_EPWM4->AQCSFRC |= (0x1<<2);
159 case 8: TMC_BASE_EPWM5->CMPA = TMC_BASE_EPWM5->TBPRD;
160 TMC_BASE_EPWM5->AQCSFRC |= 0x1;
162 case 9: TMC_BASE_EPWM5->CMPB = TMC_BASE_EPWM5->TBPRD;
163 TMC_BASE_EPWM5->AQCSFRC |= (0x1<<2);
165 case 10: TMC_BASE_EPWM6->CMPA = TMC_BASE_EPWM6->TBPRD;
166 TMC_BASE_EPWM6->AQCSFRC |= 0x1;
168 case 11: TMC_BASE_EPWM6->CMPB = TMC_BASE_EPWM6->TBPRD;
169 TMC_BASE_EPWM6->AQCSFRC |= (0x1<<2);
◆ init_ePWM()
Configuration of GPIO as epwm.
- Parameters
-
[in] | | 1) GPIO pin as Uint16 --> valid value: 0-11 |
- Returns
- Result of operations as int16
--> 0 = operation successful
--> -1 = invalid value of GPIO pin --> -5 = invalid value of frequency
Definition at line 20 of file epwm.c.
22 if((frequency > 1000000) || (frequency < 1145)){
27 case 0 ... 1: PWM = TMC_BASE_EPWM1;
29 case 2 ... 3: PWM = TMC_BASE_EPWM2;
31 case 4 ... 5: PWM = TMC_BASE_EPWM3;
33 case 6 ... 7: PWM = TMC_BASE_EPWM4;
35 case 8 ... 9: PWM = TMC_BASE_EPWM5;
37 case 10 ... 11: PWM = TMC_BASE_EPWM6;
42 TMC_BASE_PIO->CTL[0].PUD &= ~((
Uint32)0x1 << gpio);
43 TMC_BASE_PIO->CTL[0].MUX1 |= ((
Uint32)0x1 << gpio*2);
44 TMC_BASE_SCR->PCLKCR0 &= ~(0x1 << 2);
47 PWM->
TBPRD = (F_CPU/frequency)/2;
53 PWM->
TBCTL &= ~(0x1 << 2);
54 PWM->
TBCTL &= ~(0x1 << 3);
55 PWM->
TBCTL |= (0x1 << 4);
56 PWM->
TBCTL &= ~(0x7 << 7);
57 PWM->
TBCTL &= ~(0x7 << 10);
63 PWM->
AQCTLB |= (0x1 << 10);
66 TMC_BASE_SCR->PCLKCR0 |= (0x1 << 2);