#include #include #include #include "generator.h" const float BASE_FREQUENCY = 2457600.0; const float MAIN_DIVIDER = 8388606.0; // 2^23 static uint16_t frequencyToDivider(float freq) { float n = (freq * MAIN_DIVIDER) / BASE_FREQUENCY; uint16_t i = (uint16_t) n; if (n - i >= 0.5) { i += 1; } return i; } void generatorInit() { P1DIR |= BIT0 | BIT1 | BIT2 | BIT3; P1OUT |= BIT0 | BIT1 | BIT2 | BIT3; genShifter(0, frequencyToDivider(1000)); genShifter(1, frequencyToDivider(10)); }