Commit 0d502cd0 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

msp430fr timer: automatically set TA0CCR for low Hz values

parent fb6e2fed
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -58,8 +58,15 @@ class Timer {

		inline void setup_hz(uint16_t const frequency) { // 2 MHz base
			TA0CTL = TASSEL__SMCLK | _TA0_MAIN_DIV;
			if (frequency < 32) {
				// 2 MHz base
				TA0EX0 = 7;
				TA0CCR0 = 250000UL / frequency;
			} else {
				// 250 kHz base
				TA0EX0 = 0;
				TA0CCR0 = 2000000UL / frequency;
			}
			TA0CTL |= TACLR;
		}
#endif
+10 −10
Original line number Diff line number Diff line
@@ -56,17 +56,17 @@ class Timer {
			TA0CTL |= TACLR;
		}

		inline void setup_hz(uint16_t const frequency) { // 2 MHz base
		inline void setup_hz(uint16_t const frequency) {
			TA0CTL = TASSEL__SMCLK | _TA0_MAIN_DIV;
			if (frequency < 32) {
				// 2 MHz base
				TA0EX0 = 7;
				TA0CCR0 = 250000UL / frequency;
			} else {
				// 250 kHz base
				TA0EX0 = 0;
				TA0CCR0 = 2000000UL / frequency;
			TA0CTL |= TACLR;
			}

		inline void setup_hz_low(uint16_t const frequency) { // 250 kHz base
			TA0CTL = TASSEL__SMCLK | _TA0_MAIN_DIV;
			TA0EX0 = 7;
			TA0CCR0 = 250000UL / frequency;
			TA0CTL |= TACLR;
		}
#endif