merged
This commit is contained in:
@ -74,9 +74,6 @@ volatile uint8_t activeOffset = 0;
|
||||
|
||||
|
||||
ISR(TIMER0_A0, TA0_ISR_Ovrfl) {
|
||||
if (pulseWidthIdx == 0) {
|
||||
}
|
||||
|
||||
uint16_t pw = pulseWidths[pulseWidthIdx + activeOffset];
|
||||
if (pulseWidthIdx != (NUM_OF_SINE_VALUES - 1)) {
|
||||
TA0CCR1 = pw;
|
||||
@ -107,13 +104,20 @@ void inverterExec() {
|
||||
if (! running) {
|
||||
// start
|
||||
pulseWidthIdx = 0;
|
||||
// bridge start polarity
|
||||
P1OUT &= ~BIT1;
|
||||
P1OUT |= ((BIT2 & P1IN) >> 1);
|
||||
// start timer
|
||||
TA0CTL = MC_1 | ID_0 | TASSEL_0 | TACLR;
|
||||
running = true;
|
||||
}
|
||||
} else {
|
||||
if (running) {
|
||||
// stop
|
||||
// stop timer
|
||||
TA0CTL = MC_0;
|
||||
// shutdown bridge
|
||||
P2OUT &= ~BIT1;
|
||||
running = false;
|
||||
}
|
||||
}
|
||||
@ -121,14 +125,16 @@ void inverterExec() {
|
||||
|
||||
void inverterInit() {
|
||||
// start, stop
|
||||
// BIT3: start, BIT4: stop
|
||||
P1OUT &= (BIT3 | BIT4);
|
||||
P1DIR &= (BIT3 | BIT4);
|
||||
P1OUT &= ~BIT3;
|
||||
P1DIR &= ~BIT3;
|
||||
|
||||
// bridge direction
|
||||
P1OUT &= ~BIT2;
|
||||
P1OUT |= BIT1;
|
||||
P1DIR |= BIT1 | BIT2;
|
||||
// bridge start polarity
|
||||
P1DIR &= ~BIT2;
|
||||
|
||||
// bridge polarity
|
||||
P1OUT &= ~BIT1;
|
||||
P1OUT |= ((BIT2 & P1IN) >> 1);
|
||||
P1DIR |= BIT1;
|
||||
|
||||
// bridge enable (PWM)
|
||||
P2OUT &= ~BIT1;
|
||||
|
Reference in New Issue
Block a user