start/stop bit
This commit is contained in:
@ -71,13 +71,32 @@ ISR(TIMER0_A1, TA0_ISR_Comp) {
|
||||
__enable_interrupt();
|
||||
}
|
||||
|
||||
|
||||
ISR(PORT1, PORT1_ISR) {
|
||||
uint16_t p1Ifg = P1IFG;
|
||||
if (p1Ifg & BIT3) {
|
||||
// start
|
||||
pulseWidthIdx = 0;
|
||||
TA0CTL = MC_1 | ID_0 | TASSEL_0 | TACLR;
|
||||
} else if (p1Ifg & BIT4) {
|
||||
// stop
|
||||
TA0CTL = MC_0;
|
||||
}
|
||||
}
|
||||
|
||||
void inverterInit() {
|
||||
// start, stop
|
||||
// BIT3: start, BIT4: stop
|
||||
P1OUT &= (BIT3 | BIT4);
|
||||
P1DIR &= (BIT3 | BIT4);
|
||||
P1IES = BIT3;
|
||||
P1IE |= BIT3 | BIT4;
|
||||
|
||||
// bridge direction
|
||||
P1OUT &= ~BIT2;
|
||||
P1OUT |= BIT1;
|
||||
P1DIR |= BIT1 | BIT2;
|
||||
|
||||
// bridge enable (PWM)
|
||||
P2OUT &= ~BIT1;
|
||||
P2DIR |= BIT1;
|
||||
|
||||
@ -91,11 +110,7 @@ void inverterInit() {
|
||||
P1DIR &= ~BIT0;
|
||||
P1SEL |= BIT0;
|
||||
|
||||
// SMCLK out
|
||||
P1DIR |= BIT4;
|
||||
P1SEL |= BIT4;
|
||||
|
||||
TA0CTL = MC_1 | ID_0 | TASSEL_0 | TACLR;
|
||||
TA0CTL = MC_0;
|
||||
TA0CCTL0 = CCIE | OUTMOD_4;
|
||||
TA0CCTL1 = CCIE;
|
||||
TA0CCTL2 = CCIE;
|
||||
@ -104,6 +119,7 @@ void inverterInit() {
|
||||
TA0CCR2 = 1;
|
||||
}
|
||||
|
||||
|
||||
void inverterSetFrequency(uint16_t f) {
|
||||
float ff = (float)f;
|
||||
float slotLength = 2 / (ff * 400e-9 * NUM_OF_SINE_VALUES);
|
||||
|
Reference in New Issue
Block a user