Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of priustroller_2 by
Diff: core/inverter.cpp
- Revision:
- 27:846c08fb3697
- Parent:
- 25:0003b824dd7d
- Child:
- 33:e7b132029bae
diff -r d00561c7bf43 -r 846c08fb3697 core/inverter.cpp
--- a/core/inverter.cpp Tue Mar 10 17:51:38 2015 +0000
+++ b/core/inverter.cpp Sat Mar 14 18:51:36 2015 +0000
@@ -20,10 +20,21 @@
SetDtcB(0);
SetDtcC(0);
- TIM2->CR1 &= ~(TIM_CR1_CEN);
- TIM2->CR1 |= TIM_CR1_CMS;
- TIM2->CR1 |= TIM_CR1_CEN;
+ TIM2->CR1 &= ~(TIM_CR1_CEN); //disable tim2
+ //TIM2->CR1 |= TIM_CR1_CMS; //set bits 5 and 6 of the CR1 to 1. (TIM_CR1_CMS == 96)
+ TIM2->CR1 |= (1 << 5); //by only enabling bit 5, "Output compare interrupt flags of channels configured in output (CCxS=00 in TIMx_CCMRx register)
+ //are set only when the counter is counting down" (p.342)
+ //These lines do nothing so they are commented out. They should do something..
+ /*
+ TIM2->CR1 &= ~(1 << 6);
+ //hmm, not sure what's going on there. It's set to only trigger when counting down, however it triggers at both underflow and overflow
+ TIM2->CR1 &= ~(1 << 1); //Set bit 1 (update disable) to 0. we want the timer overflow to trigger an interrupt
+ //TIM2->CR1 |= (1 << 2); //Set bit 2 (update request source) to 1. Only want under/overflow to trigger an interrupt.
+ */
+
+ TIM2->DIER |= 1; // set bit 0 equal to 1. this enables interrupts
+ TIM2->CR1 |= TIM_CR1_CEN; //enable tim2
Enable();
}
