2024-06-15 23:16:26 +02:00

32 lines
553 B
C

#include <stdint.h>
#include <stdlib.h>
#include <msp430g2553.h>
#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));
}