This little script generates the logic to control frequencies on an MSP430.
if (adc_val < 0x4809) {
TACCR0 = 3816;
}
else if (adc_val < 0x58c2) {
TACCR0 = 3610;
}
else if (adc_val < 0x697b) {
TACCR0 = 3401;
}
else if (adc_val < 0x7a34) {
TACCR0 = 3215;
}
else if (adc_val < 0x8aed) {
TACCR0 = 3030;
}
else if (adc_val < 0x9ba6) {
TACCR0 = 2865;
}
else if (adc_val < 0xac5f) {
TACCR0 = 2702;
}
else if (adc_val < 0xbd18) {
TACCR0 = 2551;
}
else if (adc_val < 0xcdd1) {
TACCR0 = 2409;
}
else if (adc_val < 0xde8a) {
TACCR0 = 2272;
}
else if (adc_val < 0xef43) {
TACCR0 = 2145;
}
else {
TACCR0 = 2024;
}
TACCR1 = TACCR0 >> 1;
if (adc_val < 0x4809) {
TACCR0 = 3816;
}
else if (adc_val < 0x58c2) {
TACCR0 = 3610;
}
else if (adc_val < 0x697b) {
TACCR0 = 3401;
}
else if (adc_val < 0x7a34) {
TACCR0 = 3215;
}
else if (adc_val < 0x8aed) {
TACCR0 = 3030;
}
else if (adc_val < 0x9ba6) {
TACCR0 = 2865;
}
else if (adc_val < 0xac5f) {
TACCR0 = 2702;
}
else if (adc_val < 0xbd18) {
TACCR0 = 2551;
}
else if (adc_val < 0xcdd1) {
TACCR0 = 2409;
}
else if (adc_val < 0xde8a) {
TACCR0 = 2272;
}
else if (adc_val < 0xef43) {
TACCR0 = 2145;
}
else {
TACCR0 = 2024;
}
TACCR1 = TACCR0 >> 1;
|