89 oct_double = log10((
double)((frequency*1000000)/1039));
97 oct = (uint8_t)oct_double;
100 float_dac = 2048-(2078*pow(2, (10+ oct)))/(frequency*1000000);
101 float_dac = (float_dac > (floor(float_dac) + 0.5)) ? ceil(float_dac) : floor(float_dac);
109 dac = (uint16_t)float_dac;
111 return((uint32_t)((oct<<12)| (dac<<2) | clk));
Header File for Linduino Libraries and Demo Code.
void LTC6903_write(uint8_t cs, uint16_t code)
Writes 2 bytes.
uint16_t LTC6903_frequency_to_code(float frequency, uint8_t clk)
Calculates the code necessary to create the clock frequency.
void spi_transfer_word(uint8_t cs_pin, uint16_t tx, uint16_t *rx)
Reads and sends a word.
LT_SPI: Routines to communicate with ATmega328P's hardware SPI port.
LTC6903: 1kHz to 68MHz Serial Port Programmable Oscillator.